[Python-checkins] cpython (merge 3.2 -> 3.3): Clean up escape-decode decoder tests.

serhiy.storchaka python-checkins at python.org
Tue Jan 29 10:10:23 CET 2013


http://hg.python.org/cpython/rev/fbacf8375c76
changeset:   81815:fbacf8375c76
branch:      3.3
parent:      81811:e95c9a9d58f9
parent:      81814:946df0c26370
user:        Serhiy Storchaka <storchaka at gmail.com>
date:        Tue Jan 29 11:07:27 2013 +0200
summary:
  Clean up escape-decode decoder tests.

files:
  Lib/test/test_codecs.py |  76 +++++++++++++++-------------
  1 files changed, 40 insertions(+), 36 deletions(-)


diff --git a/Lib/test/test_codecs.py b/Lib/test/test_codecs.py
--- a/Lib/test/test_codecs.py
+++ b/Lib/test/test_codecs.py
@@ -930,51 +930,55 @@
 
 class EscapeDecodeTest(unittest.TestCase):
     def test_empty(self):
-        self.assertEqual(codecs.escape_decode(""), (b"", 0))
+        self.assertEqual(codecs.escape_decode(b""), (b"", 0))
 
     def test_raw(self):
+        decode = codecs.escape_decode
         for b in range(256):
-            if b != b'\\'[0]:
-                self.assertEqual(codecs.escape_decode(bytes([b]) + b'0'),
-                                 (bytes([b]) + b'0', 2))
+            b = bytes([b])
+            if b != b'\\':
+                self.assertEqual(decode(b + b'0'), (b + b'0', 2))
 
     def test_escape(self):
-        self.assertEqual(codecs.escape_decode(b"[\\\n]"), (b"[]", 4))
-        self.assertEqual(codecs.escape_decode(br'[\"]'), (b'["]', 4))
-        self.assertEqual(codecs.escape_decode(br"[\']"), (b"[']", 4))
-        self.assertEqual(codecs.escape_decode(br"[\\]"), (br"[\]", 4))
-        self.assertEqual(codecs.escape_decode(br"[\a]"), (b"[\x07]", 4))
-        self.assertEqual(codecs.escape_decode(br"[\b]"), (b"[\x08]", 4))
-        self.assertEqual(codecs.escape_decode(br"[\t]"), (b"[\x09]", 4))
-        self.assertEqual(codecs.escape_decode(br"[\n]"), (b"[\x0a]", 4))
-        self.assertEqual(codecs.escape_decode(br"[\v]"), (b"[\x0b]", 4))
-        self.assertEqual(codecs.escape_decode(br"[\f]"), (b"[\x0c]", 4))
-        self.assertEqual(codecs.escape_decode(br"[\r]"), (b"[\x0d]", 4))
-        self.assertEqual(codecs.escape_decode(br"[\7]"), (b"[\x07]", 4))
-        self.assertEqual(codecs.escape_decode(br"[\8]"), (br"[\8]", 4))
-        self.assertEqual(codecs.escape_decode(br"[\78]"), (b"[\x078]", 5))
-        self.assertEqual(codecs.escape_decode(br"[\41]"), (b"[!]", 5))
-        self.assertEqual(codecs.escape_decode(br"[\418]"), (b"[!8]", 6))
-        self.assertEqual(codecs.escape_decode(br"[\101]"), (b"[A]", 6))
-        self.assertEqual(codecs.escape_decode(br"[\1010]"), (b"[A0]", 7))
-        self.assertEqual(codecs.escape_decode(br"[\501]"), (b"[A]", 6))
-        self.assertEqual(codecs.escape_decode(br"[\x41]"), (b"[A]", 6))
-        self.assertEqual(codecs.escape_decode(br"[\X41]"), (br"[\X41]", 6))
-        self.assertEqual(codecs.escape_decode(br"[\x410]"), (b"[A0]", 7))
+        decode = codecs.escape_decode
+        check = coding_checker(self, decode)
+        check(b"[\\\n]", b"[]")
+        check(br'[\"]', b'["]')
+        check(br"[\']", b"[']")
+        check(br"[\\]", br"[\]")
+        check(br"[\a]", b"[\x07]")
+        check(br"[\b]", b"[\x08]")
+        check(br"[\t]", b"[\x09]")
+        check(br"[\n]", b"[\x0a]")
+        check(br"[\v]", b"[\x0b]")
+        check(br"[\f]", b"[\x0c]")
+        check(br"[\r]", b"[\x0d]")
+        check(br"[\7]", b"[\x07]")
+        check(br"[\8]", br"[\8]")
+        check(br"[\78]", b"[\x078]")
+        check(br"[\41]", b"[!]")
+        check(br"[\418]", b"[!8]")
+        check(br"[\101]", b"[A]")
+        check(br"[\1010]", b"[A0]")
+        check(br"[\501]", b"[A]")
+        check(br"[\x41]", b"[A]")
+        check(br"[\X41]", br"[\X41]")
+        check(br"[\x410]", b"[A0]")
         for b in range(256):
             if b not in b'\n"\'\\abtnvfr01234567x':
-                self.assertEqual(codecs.escape_decode(b'\\' + bytes([b])),
-                                 (b'\\' + bytes([b]), 2))
+                b = bytes([b])
+                check(b'\\' + b, b'\\' + b)
 
     def test_errors(self):
-        self.assertRaises(ValueError, codecs.escape_decode, br"\x")
-        self.assertRaises(ValueError, codecs.escape_decode, br"[\x]")
-        self.assertEqual(codecs.escape_decode(br"[\x]\x", "ignore"), (b"[]", 6))
-        self.assertEqual(codecs.escape_decode(br"[\x]\x", "replace"), (b"[?]?", 6))
-        self.assertRaises(ValueError, codecs.escape_decode, br"\x0")
-        self.assertRaises(ValueError, codecs.escape_decode, br"[\x0]")
-        self.assertEqual(codecs.escape_decode(br"[\x0]\x0", "ignore"), (b"[]", 8))
-        self.assertEqual(codecs.escape_decode(br"[\x0]\x0", "replace"), (b"[?]?", 8))
+        decode = codecs.escape_decode
+        self.assertRaises(ValueError, decode, br"\x")
+        self.assertRaises(ValueError, decode, br"[\x]")
+        self.assertEqual(decode(br"[\x]\x", "ignore"), (b"[]", 6))
+        self.assertEqual(decode(br"[\x]\x", "replace"), (b"[?]?", 6))
+        self.assertRaises(ValueError, decode, br"\x0")
+        self.assertRaises(ValueError, decode, br"[\x0]")
+        self.assertEqual(decode(br"[\x0]\x0", "ignore"), (b"[]", 8))
+        self.assertEqual(decode(br"[\x0]\x0", "replace"), (b"[?]?", 8))
 
 class RecodingTest(unittest.TestCase):
     def test_recoding(self):

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


More information about the Python-checkins mailing list