[Python-checkins] cpython: #17365: Remove Python 2 code from test_print

andrew.svetlov python-checkins at python.org
Thu Apr 4 21:32:40 CEST 2013


http://hg.python.org/cpython/rev/178075fbff3a
changeset:   83101:178075fbff3a
parent:      83099:8dd7f7134700
user:        Andrew Svetlov <andrew.svetlov at gmail.com>
date:        Thu Apr 04 22:32:28 2013 +0300
summary:
  #17365: Remove Python 2 code from test_print
Patch by Berker Peksag

files:
  Lib/test/test_print.py |  74 ++++++++++++-----------------
  1 files changed, 31 insertions(+), 43 deletions(-)


diff --git a/Lib/test/test_print.py b/Lib/test/test_print.py
--- a/Lib/test/test_print.py
+++ b/Lib/test/test_print.py
@@ -1,62 +1,55 @@
-"""Test correct operation of the print function.
-"""
+import unittest
+from io import StringIO
 
-# In 2.6, this gives us the behavior we want.  In 3.0, it has
-#  no function, but it still must parse correctly.
-from __future__ import print_function
-
-import unittest
 from test import support
 
-try:
-    # 3.x
-    from io import StringIO
-except ImportError:
-    # 2.x
-    from StringIO import StringIO
-
 NotDefined = object()
 
 # A dispatch table all 8 combinations of providing
-#  sep, end, and file
+# sep, end, and file.
 # I use this machinery so that I'm not just passing default
-#  values to print, I'm either passing or not passing in the
-#  arguments
+# values to print, I'm either passing or not passing in the
+# arguments.
 dispatch = {
     (False, False, False):
-     lambda args, sep, end, file: print(*args),
+        lambda args, sep, end, file: print(*args),
     (False, False, True):
-     lambda args, sep, end, file: print(file=file, *args),
+        lambda args, sep, end, file: print(file=file, *args),
     (False, True,  False):
-     lambda args, sep, end, file: print(end=end, *args),
+        lambda args, sep, end, file: print(end=end, *args),
     (False, True,  True):
-     lambda args, sep, end, file: print(end=end, file=file, *args),
+        lambda args, sep, end, file: print(end=end, file=file, *args),
     (True,  False, False):
-     lambda args, sep, end, file: print(sep=sep, *args),
+        lambda args, sep, end, file: print(sep=sep, *args),
     (True,  False, True):
-     lambda args, sep, end, file: print(sep=sep, file=file, *args),
+        lambda args, sep, end, file: print(sep=sep, file=file, *args),
     (True,  True,  False):
-     lambda args, sep, end, file: print(sep=sep, end=end, *args),
+        lambda args, sep, end, file: print(sep=sep, end=end, *args),
     (True,  True,  True):
-     lambda args, sep, end, file: print(sep=sep, end=end, file=file, *args),
-    }
+        lambda args, sep, end, file: print(sep=sep, end=end, file=file, *args),
+}
+
 
 # Class used to test __str__ and print
 class ClassWith__str__:
     def __init__(self, x):
         self.x = x
+
     def __str__(self):
         return self.x
 
+
 class TestPrint(unittest.TestCase):
+    """Test correct operation of the print function."""
+
     def check(self, expected, args,
-            sep=NotDefined, end=NotDefined, file=NotDefined):
+              sep=NotDefined, end=NotDefined, file=NotDefined):
         # Capture sys.stdout in a StringIO.  Call print with args,
-        #  and with sep, end, and file, if they're defined.  Result
-        #  must match expected.
+        # and with sep, end, and file, if they're defined.  Result
+        # must match expected.
 
-        # Look up the actual function to call, based on if sep, end, and file
-        #  are defined
+        # Look up the actual function to call, based on if sep, end,
+        # and file are defined.
         fn = dispatch[(sep is not NotDefined,
                        end is not NotDefined,
                        file is not NotDefined)]
@@ -69,7 +62,7 @@
     def test_print(self):
         def x(expected, args, sep=NotDefined, end=NotDefined):
             # Run the test 2 ways: not using file, and using
-            #  file directed to a StringIO
+            # file directed to a StringIO.
 
             self.check(expected, args, sep=sep, end=end)
 
@@ -101,11 +94,6 @@
         x('*\n', (ClassWith__str__('*'),))
         x('abc 1\n', (ClassWith__str__('abc'), 1))
 
-#        # 2.x unicode tests
-#        x(u'1 2\n', ('1', u'2'))
-#        x(u'u\1234\n', (u'u\1234',))
-#        x(u'  abc 1\n', (' ', ClassWith__str__(u'abc'), 1))
-
         # errors
         self.assertRaises(TypeError, print, '', sep=3)
         self.assertRaises(TypeError, print, '', end=3)
@@ -113,12 +101,14 @@
 
     def test_print_flush(self):
         # operation of the flush flag
-        class filelike():
+        class filelike:
             def __init__(self):
                 self.written = ''
                 self.flushed = 0
+
             def write(self, str):
                 self.written += str
+
             def flush(self):
                 self.flushed += 1
 
@@ -130,15 +120,13 @@
         self.assertEqual(f.flushed, 2)
 
         # ensure exceptions from flush are passed through
-        class noflush():
+        class noflush:
             def write(self, str):
                 pass
+
             def flush(self):
                 raise RuntimeError
         self.assertRaises(RuntimeError, print, 1, file=noflush(), flush=True)
 
-def test_main():
-    support.run_unittest(TestPrint)
-
 if __name__ == "__main__":
-    test_main()
+    unittest.main()

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list