diff options
author | Atsushi Eno <atsushieno@gmail.com> | 2009-05-19 18:30:11 +0400 |
---|---|---|
committer | Atsushi Eno <atsushieno@gmail.com> | 2009-05-19 18:30:11 +0400 |
commit | 2e31d6db160176cd9539f88043902d01378b88e1 (patch) | |
tree | b2e66709c39665ffa451d0a3b8ca13d602c5f6d0 /mcs/class/System.XML/Test | |
parent | a4c362bc652210f6b27e3781d5f994ab7cf6a77e (diff) |
2009-05-19 Atsushi Enomoto <atsushi@ximian.com>
* XmlSchemaGroupRef.cs : when getting optimized particle, reset was
incomplete. Patch by Jonas Larsson. Fixed bug #502168.
2009-05-07 Jonas Larsson <jonas.larsson@manodo.se>
* XmlSchemaValidatorTests.cs : added test for bug #501666.
svn path=/trunk/mcs/; revision=134396
Diffstat (limited to 'mcs/class/System.XML/Test')
-rw-r--r-- | mcs/class/System.XML/Test/System.Xml/ChangeLog | 4 | ||||
-rw-r--r-- | mcs/class/System.XML/Test/System.Xml/XmlValidatingReaderTests.cs | 85 |
2 files changed, 89 insertions, 0 deletions
diff --git a/mcs/class/System.XML/Test/System.Xml/ChangeLog b/mcs/class/System.XML/Test/System.Xml/ChangeLog index fe7f64675c5..48a501ae131 100644 --- a/mcs/class/System.XML/Test/System.Xml/ChangeLog +++ b/mcs/class/System.XML/Test/System.Xml/ChangeLog @@ -1,3 +1,7 @@ +2009-05-12 Jonas Larsson <jonas.larsson@manodo.se> + + * XmlValidatingReaderTests.cs : test for bug #502168 + 2009-05-11 Atsushi Enomoto <atsushi@ximian.com> * XmlValidatingReaderTests.cs : test for bug #501814 by Jonas diff --git a/mcs/class/System.XML/Test/System.Xml/XmlValidatingReaderTests.cs b/mcs/class/System.XML/Test/System.Xml/XmlValidatingReaderTests.cs index 1510f204792..2cf13b34bc1 100644 --- a/mcs/class/System.XML/Test/System.Xml/XmlValidatingReaderTests.cs +++ b/mcs/class/System.XML/Test/System.Xml/XmlValidatingReaderTests.cs @@ -985,5 +985,90 @@ namespace MonoTests.System.Xml doc.Validate (null);
}
#endif
+
+#if NET_2_0
+ [Test]
+ public void Bug502168 ()
+ {
+ string xsd = @"<xs:schema id='Layout'
+ targetNamespace='foo'
+ elementFormDefault='qualified'
+ xmlns='foo'
+ xmlns:xs='http://www.w3.org/2001/XMLSchema'>
+
+ <xs:element name='Layout' type='Layout' />
+
+ <xs:complexType name='Layout'>
+ <xs:group ref='AnyLayoutElement' minOccurs='0' maxOccurs='unbounded' />
+ </xs:complexType>
+
+ <xs:group name='AnyLayoutElement'>
+ <xs:choice>
+ <xs:element name='Layout' type='Layout' />
+ <xs:element name='ImageContainer' type='ImageContainer' />
+ <xs:element name='VideoInstance' type='VideoInstance'/>
+ </xs:choice>
+ </xs:group>
+
+ <xs:complexType name='ImageDummy'>
+ </xs:complexType>
+
+ <xs:complexType name='LayoutElement' abstract='true'>
+ </xs:complexType>
+
+ <xs:group name='AnyImageElement'>
+ <xs:choice>
+ <xs:element name='ImageDummy' type='ImageDummy' />
+ </xs:choice>
+ </xs:group>
+
+ <xs:complexType name='ImageContainer'>
+ <xs:complexContent>
+ <xs:extension base='LayoutElement'>
+ <xs:choice minOccurs='1' maxOccurs='1'>
+ <xs:element name='Content' type='SingleImage' minOccurs='1' maxOccurs='1'
+ nillable='false'/>
+ </xs:choice>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name='SingleImage'>
+ <xs:group ref='AnyImageElement' minOccurs='1' maxOccurs='1'/>
+ </xs:complexType>
+
+ <xs:complexType name='VideoApplicationFile'>
+ <xs:complexContent>
+ <xs:extension base='VideoInstance'>
+ <xs:attribute name='fileName' type='xs:string' use='optional'/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType abstract='true' name='Video'>
+ <xs:complexContent>
+ <xs:extension base='LayoutElement'>
+ <xs:group ref='AnyImageElement' minOccurs='0' maxOccurs='1'/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType abstract='true' name='VideoInstance'>
+ <xs:complexContent>
+ <xs:extension base='Video'>
+ <xs:attribute name='name' type='xs:string' use='optional'/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:schema>";
+
+
+ XmlDocument doc = new XmlDocument ();
+ XmlSchema schema = XmlSchema.Read (XmlReader.Create (new StringReader (xsd)), null);
+ doc.LoadXml (@"<Layout xmlns='foo' />");
+ doc.Schemas.Add(schema);
+ doc.Validate(null);
+ }
+#endif
}
}
|