]> granicus.if.org Git - python/commitdiff
Assorted code cleanups for readability. Greatly boosted the size of the
authorTim Peters <tim.peters@gmail.com>
Sun, 21 Apr 2002 06:12:02 +0000 (06:12 +0000)
committerTim Peters <tim.peters@gmail.com>
Sun, 21 Apr 2002 06:12:02 +0000 (06:12 +0000)
test data:  this test fails on WIndows now if universal newlines are
enabled (which they aren't yet, by default).  I don't know whether the
test will also fail on Linux now.

Lib/test/test_univnewlines.py

index 8d6a874069534dc3c4962625f417c05f458d3de5..8de97350dfc5cd0529fb519d26839aadaace11df 100644 (file)
@@ -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():