diff options
author | Fred Drake <fdrake@acm.org> | 2004-03-20 08:15:30 (GMT) |
---|---|---|
committer | Fred Drake <fdrake@acm.org> | 2004-03-20 08:15:30 (GMT) |
commit | 6fd0b0d5bacb38ac88e74a767f11df2bb73ae49b (patch) | |
tree | de4d0d2fc4f3ad9e462719cecb61975ba8082e62 /Lib/test/test_sax.py | |
parent | 9de0a2ba9dba2794927b895e9a8473c9437bebd1 (diff) | |
download | cpython-6fd0b0d5bacb38ac88e74a767f11df2bb73ae49b.zip cpython-6fd0b0d5bacb38ac88e74a767f11df2bb73ae49b.tar.gz cpython-6fd0b0d5bacb38ac88e74a767f11df2bb73ae49b.tar.bz2 |
commit the portion of PyXML patch #919008 that is relevant to the
standard library:
str() of xml.sax.SAXParseException should not fail if the line and/or
column number returned by the locator are None
(tests added)
Diffstat (limited to 'Lib/test/test_sax.py')
-rw-r--r-- | Lib/test/test_sax.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/Lib/test/test_sax.py b/Lib/test/test_sax.py index af97888..8e279ce 100644 --- a/Lib/test/test_sax.py +++ b/Lib/test/test_sax.py @@ -489,6 +489,41 @@ def test_expat_incomplete(): else: return 0 +def test_sax_parse_exception_str(): + # pass various values from a locator to the SAXParseException to + # make sure that the __str__() doesn't fall apart when None is + # passed instead of an integer line and column number + # + # use "normal" values for the locator: + str(SAXParseException("message", None, + DummyLocator(1, 1))) + # use None for the line number: + str(SAXParseException("message", None, + DummyLocator(None, 1))) + # use None for the column number: + str(SAXParseException("message", None, + DummyLocator(1, None))) + # use None for both: + str(SAXParseException("message", None, + DummyLocator(None, None))) + return 1 + +class DummyLocator: + def __init__(self, lineno, colno): + self._lineno = lineno + self._colno = colno + + def getPublicId(self): + return "pubid" + + def getSystemId(self): + return "sysid" + + def getLineNumber(self): + return self._lineno + + def getColumnNumber(self): + return self._colno # =========================================================================== # |