Skip to content

Commit 0e3f870

Browse files
committed
test_sax: Replaced namespace tests with one test on qualified names
1 parent be878cb commit 0e3f870

File tree

2 files changed

+12
-26
lines changed

2 files changed

+12
-26
lines changed

Lib/test/test_sax.py

Lines changed: 10 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
# regression test for SAX 2.0
2-
32
from xml.sax import make_parser, ContentHandler, \
43
SAXException, SAXReaderNotAvailable, SAXParseException, handler
54
import unittest
@@ -1307,37 +1306,22 @@ def test_expat_locator_withinfo_nonascii(self):
13071306
self.assertEqual(parser.getSystemId(), fname)
13081307
self.assertEqual(parser.getPublicId(), None)
13091308

1310-
def test_namespace_prefix(self):
1311-
parser = create_parser()
1312-
parser.setFeature(handler.feature_namespaces, 1)
1313-
parser.setFeature(handler.feature_namespace_prefixes, 1)
1309+
def test_qualified_names(self):
13141310

1315-
class Handler(handler.ContentHandler):
1311+
class Handler(ContentHandler):
13161312
def startElementNS(self, name, qname, attrs):
13171313
self.qname = qname
13181314

1319-
h = Handler()
1320-
1321-
parser.setContentHandler(h)
1322-
parser.feed("<Q:E xmlns:Q='http://example.org/testuri'/>")
1323-
parser.close()
1324-
self.assertEqual(h.qname, "Q:E")
1325-
1326-
def test_default_namespace(self):
1327-
parser = create_parser()
1328-
parser.setFeature(handler.feature_namespaces, 1)
1315+
for xml_s, expected_qname in zip(["<Q:E xmlns:Q='http://example.org/testuri'/>", "<E xmlns='http://example.org/testuri'/>", "<E />"], ["Q:E", "E", "E"]):
1316+
parser = create_parser()
1317+
parser.setFeature(handler.feature_namespaces, 1)
1318+
parser.setFeature(handler.feature_namespace_prefixes, 1)
13291319

1330-
class Handler(handler.ContentHandler):
1331-
def startElementNS(self, name, qname, attrs):
1332-
self.qname = qname
1333-
1334-
h = Handler()
1335-
1336-
parser.setContentHandler(h)
1337-
parser.feed("<E xmlns='http://example.org/testuri'/>")
1338-
parser.close()
1339-
self.assertEqual(h.qname, "E")
1320+
h = Handler()
13401321

1322+
parser.setContentHandler(h)
1323+
parser.parse(StringIO(xml_s))
1324+
self.assertEqual(h.qname, expected_qname)
13411325

13421326

13431327
# ===========================================================================
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Backported namespaces prefixes support for xml.sax.expatreader from PyXml
2+
(0.8.4)

0 commit comments

Comments
 (0)