[Lxml-checkins] r53794 - lxml/branch/lxml-2.0/src/lxml/tests
scoder at codespeak.net
scoder at codespeak.net
Tue Apr 15 20:22:03 CEST 2008
Author: scoder
Date: Tue Apr 15 20:22:03 2008
New Revision: 53794
Modified:
lxml/branch/lxml-2.0/src/lxml/tests/test_etree.py
Log:
trunk merge -c 53793 (test case)
Modified: lxml/branch/lxml-2.0/src/lxml/tests/test_etree.py
==============================================================================
--- lxml/branch/lxml-2.0/src/lxml/tests/test_etree.py (original)
+++ lxml/branch/lxml-2.0/src/lxml/tests/test_etree.py Tue Apr 15 20:22:03 2008
@@ -533,6 +533,28 @@
root = tree.getroot()
self.assertEquals(root.text, test_url)
+ def test_resolve_filename_dtd(self):
+ parse = self.etree.parse
+ parser = self.etree.XMLParser(attribute_defaults=True)
+ assertEqual = self.assertEqual
+ test_url = u"__nosuch.dtd"
+
+ class MyResolver(self.etree.Resolver):
+ def resolve(self, url, id, context):
+ assertEqual(url, test_url)
+ return self.resolve_filename(
+ fileInTestDir('test.dtd'), context)
+
+ parser.resolvers.add(MyResolver())
+
+ xml = u'<!DOCTYPE a SYSTEM "%s"><a><b/></a>' % test_url
+ tree = parse(StringIO(xml), parser)
+ root = tree.getroot()
+ self.assertEquals(
+ root.attrib, {'default': 'valueA'})
+ self.assertEquals(
+ root[0].attrib, {'default': 'valueB'})
+
def test_resolve_empty(self):
parse = self.etree.parse
parser = self.etree.XMLParser(load_dtd=True)
More information about the lxml-checkins
mailing list