[Lxml-checkins] r32098 - lxml/branch/lxml-1.0/src/lxml/tests

scoder at codespeak.net scoder at codespeak.net
Sat Sep 9 07:49:46 CEST 2006


Author: scoder
Date: Sat Sep  9 07:49:43 2006
New Revision: 32098

Added:
   lxml/branch/lxml-1.0/src/lxml/tests/test.dtd
Modified:
   lxml/branch/lxml-1.0/src/lxml/tests/test.xml
   lxml/branch/lxml-1.0/src/lxml/tests/test_etree.py
Log:
merged in new test case for DTD parsing from trunk

Added: lxml/branch/lxml-1.0/src/lxml/tests/test.dtd
==============================================================================
--- (empty file)
+++ lxml/branch/lxml-1.0/src/lxml/tests/test.dtd	Sat Sep  9 07:49:43 2006
@@ -0,0 +1,9 @@
+<!ELEMENT a (b)>
+<!ATTLIST a
+    default (valueA|valueB) "valueA"
+>
+
+<!ELEMENT b EMPTY>
+<!ATTLIST b
+    default (valueA|valueB) "valueB"
+>

Modified: lxml/branch/lxml-1.0/src/lxml/tests/test.xml
==============================================================================
--- lxml/branch/lxml-1.0/src/lxml/tests/test.xml	(original)
+++ lxml/branch/lxml-1.0/src/lxml/tests/test.xml	Sat Sep  9 07:49:43 2006
@@ -1 +1,2 @@
-<a><b></b></a>
\ No newline at end of file
+<!DOCTYPE a SYSTEM "test.dtd">
+<a><b></b></a>

Modified: lxml/branch/lxml-1.0/src/lxml/tests/test_etree.py
==============================================================================
--- lxml/branch/lxml-1.0/src/lxml/tests/test_etree.py	(original)
+++ lxml/branch/lxml-1.0/src/lxml/tests/test_etree.py	Sat Sep  9 07:49:43 2006
@@ -48,6 +48,20 @@
         self.assertEquals("TEST", root.get("attr"))
         self.assertRaises(TypeError, root.set, "newattr", 5)
 
+    def test_parse_file_dtd(self):
+        parse = self.etree.parse
+        parser = self.etree.XMLParser(attribute_defaults=True)
+
+        tree = parse(fileInTestDir('test.xml'), parser)
+        root = tree.getroot()
+
+        self.assertEquals(
+            "valueA",
+            root.get("default"))
+        self.assertEquals(
+            "valueB",
+            root[0].get("default"))
+
     def test_parse_error(self):
         parse = self.etree.parse
         # from StringIO


More information about the lxml-checkins mailing list