summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
Diffstat (limited to 'Lib')
-rw-r--r--Lib/test/test_univnewlines.py59
1 files changed, 33 insertions, 26 deletions
diff --git a/Lib/test/test_univnewlines.py b/Lib/test/test_univnewlines.py
index 8d6a874..8de9735 100644
--- a/Lib/test/test_univnewlines.py
+++ b/Lib/test/test_univnewlines.py
@@ -4,25 +4,31 @@ import test_support
import os
import sys
-DATA_TEMPLATE=[
+if not hasattr(sys.stdin, 'newlines'):
+ raise test_support.TestSkipped, \
+ "This Python does not have universal newline support"
+
+FATX = 'x' * (2**14)
+
+DATA_TEMPLATE = [
"line1=1",
- "line2='this is a very long line designed to go past the magic " +
- "hundred character limit that is inside fileobject.c and which " +
- "is meant to speed up the common case, but we also want to test " +
- "the uncommon case, naturally.'",
- "def line3():pass"
+ "line2='this is a very long line designed to go past the magic " +
+ "hundred character limit that is inside fileobject.c and which " +
+ "is meant to speed up the common case, but we also want to test " +
+ "the uncommon case, naturally.'",
+ "def line3():pass",
+ "line4 = '%s'" % FATX,
]
+
DATA_LF = "\n".join(DATA_TEMPLATE) + "\n"
DATA_CR = "\r".join(DATA_TEMPLATE) + "\r"
DATA_CRLF = "\r\n".join(DATA_TEMPLATE) + "\r\n"
+
# Note that DATA_MIXED also tests the ability to recognize a lone \r
# before end-of-file.
DATA_MIXED = "\n".join(DATA_TEMPLATE) + "\r"
-DATA_SPLIT = map(lambda x: x+"\n", DATA_TEMPLATE)
-
-if not hasattr(sys.stdin, 'newlines'):
- raise test_support.TestSkipped, \
- "This Python does not have universal newline support"
+DATA_SPLIT = [x + "\n" for x in DATA_TEMPLATE]
+del x
class TestGenericUnivNewlines(unittest.TestCase):
# use a class variable DATA to define the data to write to the file
@@ -74,33 +80,34 @@ class TestGenericUnivNewlines(unittest.TestCase):
self.assertEqual(data, DATA_SPLIT[1:])
def test_execfile(self):
- dict = {}
- execfile(test_support.TESTFN, dict)
- func = dict['line3']
+ namespace = {}
+ execfile(test_support.TESTFN, namespace)
+ func = namespace['line3']
self.assertEqual(func.func_code.co_firstlineno, 3)
+ self.assertEqual(namespace['line4'], FATX)
class TestNativeNewlines(TestGenericUnivNewlines):
- NEWLINE=None
- DATA=DATA_LF
- READMODE='r'
- WRITEMODE='w'
+ NEWLINE = None
+ DATA = DATA_LF
+ READMODE = 'r'
+ WRITEMODE = 'w'
class TestCRNewlines(TestGenericUnivNewlines):
- NEWLINE='\r'
- DATA=DATA_CR
+ NEWLINE = '\r'
+ DATA = DATA_CR
class TestLFNewlines(TestGenericUnivNewlines):
- NEWLINE='\n'
- DATA=DATA_LF
+ NEWLINE = '\n'
+ DATA = DATA_LF
class TestCRLFNewlines(TestGenericUnivNewlines):
- NEWLINE='\r\n'
- DATA=DATA_CRLF
+ NEWLINE = '\r\n'
+ DATA = DATA_CRLF
class TestMixedNewlines(TestGenericUnivNewlines):
- NEWLINE=('\r', '\n')
- DATA=DATA_MIXED
+ NEWLINE = ('\r', '\n')
+ DATA = DATA_MIXED
def test_main():