comparison tests/test-encoding-func.py @ 53031:e705fec4a03f stable

branching: merging with 7.0 changes Since 6.9.3 was made after 7.0rc0 we need to deal with more branching than usual.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Wed, 05 Mar 2025 23:02:19 +0100
parents 62546ee1f56b
children
comparison
equal deleted inserted replaced
53030:74439d1cbeba 53031:e705fec4a03f
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()
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()
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()
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()
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