[Python-checkins] CVS: python/dist/src/Lib/test test_sax.py,1.3,1.4
Lars Marius Garshol
python-dev@python.org
Sun, 24 Sep 2000 13:19:47 -0700
Update of /cvsroot/python/python/dist/src/Lib/test
In directory slayer.i.sourceforge.net:/tmp/cvs-serv6445/test
Modified Files:
test_sax.py
Log Message:
Added EntityResolver and DTDHandler (patch 101631) with test cases.
Index: test_sax.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_sax.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** test_sax.py 2000/09/24 18:53:56 1.3
--- test_sax.py 2000/09/24 20:19:43 1.4
***************
*** 157,179 ****
self._entities.append((name, publicId, systemId, ndata))
! # def test_expat_dtdhandler():
! # parser = create_parser()
! # handler = TestDTDHandler()
! # parser.setDTDHandler(handler)
!
! # parser.feed('<!DOCTYPE doc [\n')
! # parser.feed(' <!ENTITY img SYSTEM "expat.gif" NDATA GIF>\n')
! # parser.feed(' <!NOTATION GIF PUBLIC "-//CompuServe//NOTATION Graphics Interchange Format 89a//EN">\n')
! # parser.feed(']>\n')
! # parser.feed('<doc></doc>')
! # parser.close()
! # return handler._notations == [("GIF", "-//CompuServe//NOTATION Graphics Interchange Format 89a//EN", None)] and \
! # handler._entities == [("img", None, "expat.gif", "GIF")]
# ===== EntityResolver support
! # can't test this until InputSource is in place
# ===== Attributes support
--- 157,199 ----
self._entities.append((name, publicId, systemId, ndata))
! def test_expat_dtdhandler():
! parser = create_parser()
! handler = TestDTDHandler()
! parser.setDTDHandler(handler)
!
! parser.feed('<!DOCTYPE doc [\n')
! parser.feed(' <!ENTITY img SYSTEM "expat.gif" NDATA GIF>\n')
! parser.feed(' <!NOTATION GIF PUBLIC "-//CompuServe//NOTATION Graphics Interchange Format 89a//EN">\n')
! parser.feed(']>\n')
! parser.feed('<doc></doc>')
! parser.close()
! return handler._notations == [("GIF", "-//CompuServe//NOTATION Graphics Interchange Format 89a//EN", None)] and \
! handler._entities == [("img", None, "expat.gif", "GIF")]
# ===== EntityResolver support
! class TestEntityResolver:
+ def resolveEntity(self, publicId, systemId):
+ inpsrc = InputSource()
+ inpsrc.setByteStream(StringIO("<entity/>"))
+ return inpsrc
+
+ def test_expat_entityresolver():
+ return 1 # disabling this until pyexpat.c has been fixed
+ parser = create_parser()
+ parser.setEntityResolver(TestEntityResolver())
+ result = StringIO()
+ parser.setContentHandler(XMLGenerator(result))
+
+ parser.feed('<!DOCTYPE doc [\n')
+ parser.feed(' <!ENTITY test SYSTEM "whatever">\n')
+ parser.feed(']>\n')
+ parser.feed('<doc>&test;</doc>')
+ parser.close()
+
+ return result.getvalue() == start + "<doc><entity></entity></doc>"
+
# ===== Attributes support
***************
*** 441,444 ****
if fails != 0:
raise TestFailed, "%d of %d tests failed" % (fails, tests)
-
- make_test_output()
--- 461,462 ----