test-encoding-func.py
45 lines
| 1.1 KiB
| text/x-python
|
PythonLexer
/ tests / test-encoding-func.py
Yuya Nishihara
|
r33927 | from __future__ import absolute_import | ||
import unittest | ||||
from mercurial import ( | ||||
encoding, | ||||
) | ||||
class IsasciistrTest(unittest.TestCase): | ||||
asciistrs = [ | ||||
b'a', | ||||
b'ab', | ||||
b'abc', | ||||
b'abcd', | ||||
b'abcde', | ||||
b'abcdefghi', | ||||
b'abcd\0fghi', | ||||
] | ||||
def testascii(self): | ||||
for s in self.asciistrs: | ||||
self.assertTrue(encoding.isasciistr(s)) | ||||
def testnonasciichar(self): | ||||
for s in self.asciistrs: | ||||
for i in range(len(s)): | ||||
t = bytearray(s) | ||||
t[i] |= 0x80 | ||||
self.assertFalse(encoding.isasciistr(bytes(t))) | ||||
Yuya Nishihara
|
r33928 | class LocalEncodingTest(unittest.TestCase): | ||
def testasciifastpath(self): | ||||
s = b'\0' * 100 | ||||
self.assertTrue(s is encoding.tolocal(s)) | ||||
self.assertTrue(s is encoding.fromlocal(s)) | ||||
Yuya Nishihara
|
r33929 | class Utf8bEncodingTest(unittest.TestCase): | ||
def testasciifastpath(self): | ||||
s = b'\0' * 100 | ||||
self.assertTrue(s is encoding.toutf8b(s)) | ||||
self.assertTrue(s is encoding.fromutf8b(s)) | ||||
Yuya Nishihara
|
r33927 | if __name__ == '__main__': | ||
import silenttestrunner | ||||
silenttestrunner.main(__name__) | ||||