[Python-checkins] cpython (merge default -> default): Issue #18048: Merge test_pep263.py and test_coding.py into

serhiy.storchaka python-checkins at python.org
Thu Jun 13 09:12:58 CEST 2013


http://hg.python.org/cpython/rev/464e8fd7300d
changeset:   84113:464e8fd7300d
parent:      84112:3b906421245d
parent:      84111:00a199c265c3
user:        Serhiy Storchaka <storchaka at gmail.com>
date:        Thu Jun 13 10:08:00 2013 +0300
summary:
  Issue #18048: Merge test_pep263.py and test_coding.py into test_source_encoding.py.

files:
  Lib/test/test_pep263.py          |  80 -------------------
  Lib/test/test_source_encoding.py |  83 ++++++++++++++++++-
  2 files changed, 76 insertions(+), 87 deletions(-)


diff --git a/Lib/test/test_pep263.py b/Lib/test/test_pep263.py
deleted file mode 100644
--- a/Lib/test/test_pep263.py
+++ /dev/null
@@ -1,80 +0,0 @@
-# -*- coding: koi8-r -*-
-
-import unittest
-from test import support
-
-class PEP263Test(unittest.TestCase):
-
-    def test_pep263(self):
-        self.assertEqual(
-            "ðÉÔÏÎ".encode("utf-8"),
-            b'\xd0\x9f\xd0\xb8\xd1\x82\xd0\xbe\xd0\xbd'
-        )
-        self.assertEqual(
-            "\ð".encode("utf-8"),
-            b'\\\xd0\x9f'
-        )
-
-    def test_compilestring(self):
-        # see #1882
-        c = compile(b"\n# coding: utf-8\nu = '\xc3\xb3'\n", "dummy", "exec")
-        d = {}
-        exec(c, d)
-        self.assertEqual(d['u'], '\xf3')
-
-    def test_issue2301(self):
-        try:
-            compile(b"# coding: cp932\nprint '\x94\x4e'", "dummy", "exec")
-        except SyntaxError as v:
-            self.assertEqual(v.text, "print '\u5e74'\n")
-        else:
-            self.fail()
-
-    def test_issue4626(self):
-        c = compile("# coding=latin-1\n\u00c6 = '\u00c6'", "dummy", "exec")
-        d = {}
-        exec(c, d)
-        self.assertEqual(d['\xc6'], '\xc6')
-
-    def test_issue3297(self):
-        c = compile("a, b = '\U0001010F', '\\U0001010F'", "dummy", "exec")
-        d = {}
-        exec(c, d)
-        self.assertEqual(d['a'], d['b'])
-        self.assertEqual(len(d['a']), len(d['b']))
-        self.assertEqual(ascii(d['a']), ascii(d['b']))
-
-    def test_issue7820(self):
-        # Ensure that check_bom() restores all bytes in the right order if
-        # check_bom() fails in pydebug mode: a buffer starts with the first
-        # byte of a valid BOM, but next bytes are different
-
-        # one byte in common with the UTF-16-LE BOM
-        self.assertRaises(SyntaxError, eval, b'\xff\x20')
-
-        # two bytes in common with the UTF-8 BOM
-        self.assertRaises(SyntaxError, eval, b'\xef\xbb\x20')
-
-    def test_error_message(self):
-        compile(b'# -*- coding: iso-8859-15 -*-\n', 'dummy', 'exec')
-        compile(b'\xef\xbb\xbf\n', 'dummy', 'exec')
-        compile(b'\xef\xbb\xbf# -*- coding: utf-8 -*-\n', 'dummy', 'exec')
-        with self.assertRaisesRegexp(SyntaxError, 'fake'):
-            compile(b'# -*- coding: fake -*-\n', 'dummy', 'exec')
-        with self.assertRaisesRegexp(SyntaxError, 'iso-8859-15'):
-            compile(b'\xef\xbb\xbf# -*- coding: iso-8859-15 -*-\n',
-                    'dummy', 'exec')
-        with self.assertRaisesRegexp(SyntaxError, 'BOM'):
-            compile(b'\xef\xbb\xbf# -*- coding: iso-8859-15 -*-\n',
-                    'dummy', 'exec')
-        with self.assertRaisesRegexp(SyntaxError, 'fake'):
-            compile(b'\xef\xbb\xbf# -*- coding: fake -*-\n', 'dummy', 'exec')
-        with self.assertRaisesRegexp(SyntaxError, 'BOM'):
-            compile(b'\xef\xbb\xbf# -*- coding: fake -*-\n', 'dummy', 'exec')
-
-
-def test_main():
-    support.run_unittest(PEP263Test)
-
-if __name__=="__main__":
-    test_main()
diff --git a/Lib/test/test_source_encoding.py b/Lib/test/test_source_encoding.py
--- a/Lib/test/test_source_encoding.py
+++ b/Lib/test/test_source_encoding.py
@@ -1,8 +1,80 @@
-import test.support, unittest
+# -*- coding: koi8-r -*-
+
+import unittest
 from test.support import TESTFN, unlink, unload
-import importlib, os, sys
+import importlib
+import os
+import sys
 
-class CodingTest(unittest.TestCase):
+class SourceEncodingTest(unittest.TestCase):
+
+    def test_pep263(self):
+        self.assertEqual(
+            "ðÉÔÏÎ".encode("utf-8"),
+            b'\xd0\x9f\xd0\xb8\xd1\x82\xd0\xbe\xd0\xbd'
+        )
+        self.assertEqual(
+            "\ð".encode("utf-8"),
+            b'\\\xd0\x9f'
+        )
+
+    def test_compilestring(self):
+        # see #1882
+        c = compile(b"\n# coding: utf-8\nu = '\xc3\xb3'\n", "dummy", "exec")
+        d = {}
+        exec(c, d)
+        self.assertEqual(d['u'], '\xf3')
+
+    def test_issue2301(self):
+        try:
+            compile(b"# coding: cp932\nprint '\x94\x4e'", "dummy", "exec")
+        except SyntaxError as v:
+            self.assertEqual(v.text, "print '\u5e74'\n")
+        else:
+            self.fail()
+
+    def test_issue4626(self):
+        c = compile("# coding=latin-1\n\u00c6 = '\u00c6'", "dummy", "exec")
+        d = {}
+        exec(c, d)
+        self.assertEqual(d['\xc6'], '\xc6')
+
+    def test_issue3297(self):
+        c = compile("a, b = '\U0001010F', '\\U0001010F'", "dummy", "exec")
+        d = {}
+        exec(c, d)
+        self.assertEqual(d['a'], d['b'])
+        self.assertEqual(len(d['a']), len(d['b']))
+        self.assertEqual(ascii(d['a']), ascii(d['b']))
+
+    def test_issue7820(self):
+        # Ensure that check_bom() restores all bytes in the right order if
+        # check_bom() fails in pydebug mode: a buffer starts with the first
+        # byte of a valid BOM, but next bytes are different
+
+        # one byte in common with the UTF-16-LE BOM
+        self.assertRaises(SyntaxError, eval, b'\xff\x20')
+
+        # two bytes in common with the UTF-8 BOM
+        self.assertRaises(SyntaxError, eval, b'\xef\xbb\x20')
+
+    def test_error_message(self):
+        compile(b'# -*- coding: iso-8859-15 -*-\n', 'dummy', 'exec')
+        compile(b'\xef\xbb\xbf\n', 'dummy', 'exec')
+        compile(b'\xef\xbb\xbf# -*- coding: utf-8 -*-\n', 'dummy', 'exec')
+        with self.assertRaisesRegexp(SyntaxError, 'fake'):
+            compile(b'# -*- coding: fake -*-\n', 'dummy', 'exec')
+        with self.assertRaisesRegexp(SyntaxError, 'iso-8859-15'):
+            compile(b'\xef\xbb\xbf# -*- coding: iso-8859-15 -*-\n',
+                    'dummy', 'exec')
+        with self.assertRaisesRegexp(SyntaxError, 'BOM'):
+            compile(b'\xef\xbb\xbf# -*- coding: iso-8859-15 -*-\n',
+                    'dummy', 'exec')
+        with self.assertRaisesRegexp(SyntaxError, 'fake'):
+            compile(b'\xef\xbb\xbf# -*- coding: fake -*-\n', 'dummy', 'exec')
+        with self.assertRaisesRegexp(SyntaxError, 'BOM'):
+            compile(b'\xef\xbb\xbf# -*- coding: fake -*-\n', 'dummy', 'exec')
+
     def test_bad_coding(self):
         module_name = 'bad_coding'
         self.verify_bad_module(module_name)
@@ -58,8 +130,5 @@
         self.assertTrue(c.exception.args[0].startswith(expected))
 
 
-def test_main():
-    test.support.run_unittest(CodingTest)
-
 if __name__ == "__main__":
-    test_main()
+    unittest.main()

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


More information about the Python-checkins mailing list