Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAtsushi Eno <atsushieno@gmail.com>2009-05-19 18:30:11 +0400
committerAtsushi Eno <atsushieno@gmail.com>2009-05-19 18:30:11 +0400
commit2e31d6db160176cd9539f88043902d01378b88e1 (patch)
treeb2e66709c39665ffa451d0a3b8ca13d602c5f6d0 /mcs/class/System.XML/Test
parenta4c362bc652210f6b27e3781d5f994ab7cf6a77e (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/ChangeLog4
-rw-r--r--mcs/class/System.XML/Test/System.Xml/XmlValidatingReaderTests.cs85
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
}
}