1
1
<?php
2
2
namespace GoetasWebservices \XML \XSDReader \Tests ;
3
3
4
+ use GoetasWebservices \XML \XSDReader \Schema \Schema ;
5
+
4
6
class RedefineTest extends BaseTest
5
7
{
6
8
public function testBase ()
@@ -54,7 +56,7 @@ public function testBase()
54
56
/* @var $type \GoetasWebservices\XML\XSDReader\Schema\Type\ComplexType */
55
57
$ type = $ localAttr ->getType ();
56
58
57
- $ this ->assertInstanceOf (' \GoetasWebservices\XML\XSDReader\Schema\Type\ComplexType ' , $ type );
59
+ $ this ->assertInstanceOf (\GoetasWebservices \XML \XSDReader \Schema \Type \ComplexType::class , $ type );
58
60
59
61
$ children = array ();
60
62
foreach ($ type ->getElements () as $ element ){
@@ -63,4 +65,32 @@ public function testBase()
63
65
64
66
$ this ->assertContains ('generation ' , $ children );
65
67
}
68
+
69
+ public function testReadSchemaLocation ()
70
+ {
71
+ $ schema = $ this ->reader ->readFile (__DIR__ . '/schema/extend-components.xsd ' );
72
+ $ this ->assertInstanceOf (Schema::class, $ schema );
73
+
74
+ $ this ->assertEquals ('spec:example:xsd:CommonBasicComponents-1.0 ' , $ schema ->getTargetNamespace ());
75
+
76
+ // defined in /schema/base-components.xsd
77
+ $ dateElement = $ schema ->findElement ("Date " , 'spec:example:xsd:CommonBasicComponents-1.0 ' );
78
+ $ this ->assertNotNull ($ dateElement );
79
+ $ this ->assertInstanceOf (\GoetasWebservices \XML \XSDReader \Schema \Element \ElementDef::class, $ dateElement );
80
+ $ type = $ dateElement ->getType ();
81
+ $ this ->assertEquals ('DateType ' , $ type ->getName ());
82
+ $ this ->assertInstanceOf (\GoetasWebservices \XML \XSDReader \Schema \Type \ComplexType::class, $ type );
83
+
84
+ $ dateType = $ schema ->findType ("DateType " , 'spec:example:xsd:CommonBasicComponents-1.0 ' );
85
+ $ this ->assertNotNull ($ dateType );
86
+ $ this ->assertInstanceOf (\GoetasWebservices \XML \XSDReader \Schema \Type \ComplexType::class, $ dateType );
87
+
88
+ // defined in /schema/extend-components.xsd
89
+ $ deliveryDateElement = $ schema ->findElement ("DeliveryDate " , 'spec:example:xsd:CommonBasicComponents-1.0 ' );
90
+ $ this ->assertNotNull ($ deliveryDateElement );
91
+ $ this ->assertInstanceOf (\GoetasWebservices \XML \XSDReader \Schema \Element \ElementDef::class, $ deliveryDateElement );
92
+ $ type = $ deliveryDateElement ->getType ();
93
+ $ this ->assertEquals ('DateType ' , $ type ->getName ());
94
+ $ this ->assertInstanceOf (\GoetasWebservices \XML \XSDReader \Schema \Type \ComplexType::class, $ type );
95
+ }
66
96
}
0 commit comments