Mercurial > public > mercurial-scm > hg-stable
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 |