Backport of r74435. Not merged/blocked w/ svnmerge.py as the tool is erroring out on me.
This commit is contained in:
parent
790da2383f
commit
0c8110734a
|
@ -510,6 +510,24 @@ class ChardataBufferTest(unittest.TestCase):
|
||||||
parser.Parse(xml2, 1)
|
parser.Parse(xml2, 1)
|
||||||
self.assertEquals(self.n, 4)
|
self.assertEquals(self.n, 4)
|
||||||
|
|
||||||
|
class MalformedInputText(unittest.TestCase):
|
||||||
|
def test1(self):
|
||||||
|
xml = "\0\r\n"
|
||||||
|
parser = expat.ParserCreate()
|
||||||
|
try:
|
||||||
|
parser.Parse(xml, True)
|
||||||
|
self.fail()
|
||||||
|
except expat.ExpatError as e:
|
||||||
|
self.assertEquals(str(e), 'no element found: line 2, column 1')
|
||||||
|
|
||||||
|
def test2(self):
|
||||||
|
xml = "<?xml version\xc2\x85='1.0'?>\r\n"
|
||||||
|
parser = expat.ParserCreate()
|
||||||
|
try:
|
||||||
|
parser.Parse(xml, True)
|
||||||
|
self.fail()
|
||||||
|
except expat.ExpatError as e:
|
||||||
|
self.assertEquals(str(e), 'XML declaration not well-formed: line 1, column 14')
|
||||||
|
|
||||||
def test_main():
|
def test_main():
|
||||||
run_unittest(SetAttributeTest,
|
run_unittest(SetAttributeTest,
|
||||||
|
@ -520,7 +538,8 @@ def test_main():
|
||||||
HandlerExceptionTest,
|
HandlerExceptionTest,
|
||||||
PositionTest,
|
PositionTest,
|
||||||
sf1296433Test,
|
sf1296433Test,
|
||||||
ChardataBufferTest)
|
ChardataBufferTest,
|
||||||
|
MalformedInputText)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
test_main()
|
test_main()
|
||||||
|
|
|
@ -105,6 +105,8 @@ syntax error.
|
||||||
Extension Modules
|
Extension Modules
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
|
- Fix a segfault in expat.
|
||||||
|
|
||||||
- Issue #4509: array.array objects are no longer modified after an operation
|
- Issue #4509: array.array objects are no longer modified after an operation
|
||||||
failing due to the resize restriction in-place when the object has exported
|
failing due to the resize restriction in-place when the object has exported
|
||||||
buffers.
|
buffers.
|
||||||
|
|
|
@ -1741,7 +1741,7 @@ PREFIX(updatePosition)(const ENCODING *enc,
|
||||||
const char *end,
|
const char *end,
|
||||||
POSITION *pos)
|
POSITION *pos)
|
||||||
{
|
{
|
||||||
while (ptr != end) {
|
while (ptr < end) {
|
||||||
switch (BYTE_TYPE(enc, ptr)) {
|
switch (BYTE_TYPE(enc, ptr)) {
|
||||||
#define LEAD_CASE(n) \
|
#define LEAD_CASE(n) \
|
||||||
case BT_LEAD ## n: \
|
case BT_LEAD ## n: \
|
||||||
|
|
Loading…
Reference in New Issue