diff options
Diffstat (limited to 'Lib/test/test_codecs.py')
| -rw-r--r-- | Lib/test/test_codecs.py | 46 | 
1 files changed, 46 insertions, 0 deletions
diff --git a/Lib/test/test_codecs.py b/Lib/test/test_codecs.py index 7eb5529..5be78d7 100644 --- a/Lib/test/test_codecs.py +++ b/Lib/test/test_codecs.py @@ -1737,6 +1737,10 @@ class CharmapTest(unittest.TestCase):              codecs.charmap_decode, b"\x00\x01\x02", "strict", "ab"          ) +        self.assertRaises(UnicodeDecodeError, +            codecs.charmap_decode, b"\x00\x01\x02", "strict", "ab\ufffe" +        ) +          self.assertEqual(              codecs.charmap_decode(b"\x00\x01\x02", "replace", "ab"),              ("ab\ufffd", 3) @@ -1793,6 +1797,17 @@ class CharmapTest(unittest.TestCase):                                     {0: 'a', 1: 'b'}          ) +        self.assertRaises(UnicodeDecodeError, +            codecs.charmap_decode, b"\x00\x01\x02", "strict", +                                   {0: 'a', 1: 'b', 2: None} +        ) + +        # Issue #14850 +        self.assertRaises(UnicodeDecodeError, +            codecs.charmap_decode, b"\x00\x01\x02", "strict", +                                   {0: 'a', 1: 'b', 2: '\ufffe'} +        ) +          self.assertEqual(              codecs.charmap_decode(b"\x00\x01\x02", "replace",                                    {0: 'a', 1: 'b'}), @@ -1805,6 +1820,13 @@ class CharmapTest(unittest.TestCase):              ("ab\ufffd", 3)          ) +        # Issue #14850 +        self.assertEqual( +            codecs.charmap_decode(b"\x00\x01\x02", "replace", +                                  {0: 'a', 1: 'b', 2: '\ufffe'}), +            ("ab\ufffd", 3) +        ) +          self.assertEqual(              codecs.charmap_decode(b"\x00\x01\x02", "ignore",                                    {0: 'a', 1: 'b'}), @@ -1817,6 +1839,13 @@ class CharmapTest(unittest.TestCase):              ("ab", 3)          ) +        # Issue #14850 +        self.assertEqual( +            codecs.charmap_decode(b"\x00\x01\x02", "ignore", +                                  {0: 'a', 1: 'b', 2: '\ufffe'}), +            ("ab", 3) +        ) +          allbytes = bytes(range(256))          self.assertEqual(              codecs.charmap_decode(allbytes, "ignore", {}), @@ -1857,6 +1886,11 @@ class CharmapTest(unittest.TestCase):                                     {0: a, 1: b},          ) +        self.assertRaises(UnicodeDecodeError, +            codecs.charmap_decode, b"\x00\x01\x02", "strict", +                                   {0: a, 1: b, 2: 0xFFFE}, +        ) +          self.assertEqual(              codecs.charmap_decode(b"\x00\x01\x02", "replace",                                    {0: a, 1: b}), @@ -1864,11 +1898,23 @@ class CharmapTest(unittest.TestCase):          )          self.assertEqual( +            codecs.charmap_decode(b"\x00\x01\x02", "replace", +                                  {0: a, 1: b, 2: 0xFFFE}), +            ("ab\ufffd", 3) +        ) + +        self.assertEqual(              codecs.charmap_decode(b"\x00\x01\x02", "ignore",                                    {0: a, 1: b}),              ("ab", 3)          ) +        self.assertEqual( +            codecs.charmap_decode(b"\x00\x01\x02", "ignore", +                                  {0: a, 1: b, 2: 0xFFFE}), +            ("ab", 3) +        ) +  class WithStmtTest(unittest.TestCase):      def test_encodedfile(self):  | 
