mirror of
https://github.com/python/cpython.git
synced 2025-08-28 04:35:02 +00:00
Correction for issue1134: all source files with a coding spec, except latin-1
and utf-8, crashed when parsing a multiline string, or a line longer that 512 columns.
This commit is contained in:
parent
c05f42a8a7
commit
65f9aced6e
2 changed files with 50 additions and 15 deletions
|
@ -1,6 +1,6 @@
|
|||
|
||||
import test.test_support, unittest
|
||||
import os
|
||||
import os, sys
|
||||
|
||||
class CodingTest(unittest.TestCase):
|
||||
def test_bad_coding(self):
|
||||
|
@ -26,6 +26,26 @@ class CodingTest(unittest.TestCase):
|
|||
exec('# coding: cp949\na = 5\n', d)
|
||||
self.assertEqual(d['a'], 5)
|
||||
|
||||
def test_file_parse(self):
|
||||
# issue1134: all encodings outside latin-1 and utf-8 fail on
|
||||
# multiline strings and long lines (>512 columns)
|
||||
sys.path.insert(0, ".")
|
||||
filename = test.test_support.TESTFN+".py"
|
||||
f = open(filename, "w")
|
||||
try:
|
||||
f.write("# -*- coding: cp1252 -*-\n")
|
||||
f.write("'''A short string\n")
|
||||
f.write("'''\n")
|
||||
f.write("'A very long string %s'\n" % ("X" * 1000))
|
||||
f.close()
|
||||
|
||||
__import__(test.test_support.TESTFN)
|
||||
finally:
|
||||
f.close()
|
||||
os.remove(test.test_support.TESTFN+".py")
|
||||
os.remove(test.test_support.TESTFN+".pyc")
|
||||
sys.path.pop(0)
|
||||
|
||||
def test_main():
|
||||
test.test_support.run_unittest(CodingTest)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue