tests/test-encoding-func.py
changeset 52639 9db77d46de79
parent 48875 6000f5b25c9b
child 52657 62546ee1f56b
equal deleted inserted replaced
52638:dc36535a5edc 52639:9db77d46de79
    45         self.assertTrue(s is encoding.toutf8b(s))
    45         self.assertTrue(s is encoding.toutf8b(s))
    46         self.assertTrue(s is encoding.fromutf8b(s))
    46         self.assertTrue(s is encoding.fromutf8b(s))
    47 
    47 
    48     def testlossylatin(self):
    48     def testlossylatin(self):
    49         encoding.encoding = b'ascii'
    49         encoding.encoding = b'ascii'
    50         s = u'\xc0'.encode('utf-8')
    50         s = '\xc0'.encode('utf-8')
    51         l = encoding.tolocal(s)
    51         l = encoding.tolocal(s)
    52         self.assertEqual(l, b'?')  # lossy
    52         self.assertEqual(l, b'?')  # lossy
    53         self.assertEqual(s, encoding.toutf8b(l))  # utf8 sequence preserved
    53         self.assertEqual(s, encoding.toutf8b(l))  # utf8 sequence preserved
    54 
    54 
    55     def testlosslesslatin(self):
    55     def testlosslesslatin(self):
    56         encoding.encoding = b'latin-1'
    56         encoding.encoding = b'latin-1'
    57         s = u'\xc0'.encode('utf-8')
    57         s = '\xc0'.encode('utf-8')
    58         l = encoding.tolocal(s)
    58         l = encoding.tolocal(s)
    59         self.assertEqual(l, b'\xc0')  # lossless
    59         self.assertEqual(l, b'\xc0')  # lossless
    60         self.assertEqual(s, encoding.toutf8b(l))  # convert back to utf-8
    60         self.assertEqual(s, encoding.toutf8b(l))  # convert back to utf-8
    61 
    61 
    62     def testlossy0xed(self):
    62     def testlossy0xed(self):
    63         encoding.encoding = b'euc-kr'  # U+Dxxx Hangul
    63         encoding.encoding = b'euc-kr'  # U+Dxxx Hangul
    64         s = u'\ud1bc\xc0'.encode('utf-8')
    64         s = '\ud1bc\xc0'.encode('utf-8')
    65         l = encoding.tolocal(s)
    65         l = encoding.tolocal(s)
    66         self.assertIn(b'\xed', l)
    66         self.assertIn(b'\xed', l)
    67         self.assertTrue(l.endswith(b'?'))  # lossy
    67         self.assertTrue(l.endswith(b'?'))  # lossy
    68         self.assertEqual(s, encoding.toutf8b(l))  # utf8 sequence preserved
    68         self.assertEqual(s, encoding.toutf8b(l))  # utf8 sequence preserved
    69 
    69 
    70     def testlossless0xed(self):
    70     def testlossless0xed(self):
    71         encoding.encoding = b'euc-kr'  # U+Dxxx Hangul
    71         encoding.encoding = b'euc-kr'  # U+Dxxx Hangul
    72         s = u'\ud1bc'.encode('utf-8')
    72         s = '\ud1bc'.encode('utf-8')
    73         l = encoding.tolocal(s)
    73         l = encoding.tolocal(s)
    74         self.assertEqual(l, b'\xc5\xed')  # lossless
    74         self.assertEqual(l, b'\xc5\xed')  # lossless
    75         self.assertEqual(s, encoding.toutf8b(l))  # convert back to utf-8
    75         self.assertEqual(s, encoding.toutf8b(l))  # convert back to utf-8
    76 
    76 
    77 
    77