Port test_charmapcodec to PyUnit. From SF patch #662807

This commit is contained in:
Walter Dörwald 2003-02-14 11:21:53 +00:00
parent 002a5de202
commit bb2734ab65
2 changed files with 29 additions and 41 deletions

View File

@ -1,16 +0,0 @@
test_charmapcodec
abc == abc: OK
abcdef == abcdef: OK
defabc == defabc: OK
dabcf == dabcf: OK
dabcfabc == dabcfabc: OK
abc == abc: OK
abcdef == abcdef: OK
defabc == defabc: OK
dabcf == dabcf: OK
dabcfabc == dabcfabc: OK
def == def: OK
def == def: OK
df == df: OK
df == df: OK
\001 maps to undefined: OK

View File

@ -9,35 +9,39 @@ Written by Marc-Andre Lemburg (mal@lemburg.com).
"""#"
def check(a, b):
if a != b:
print '*** check failed: %s != %s' % (repr(a), repr(b))
else:
print '%s == %s: OK' % (a, b)
import test.test_support, unittest
# test codec's full path name (see test/testcodec.py)
codecname = 'test.testcodec'
check(unicode('abc', codecname), u'abc')
check(unicode('xdef', codecname), u'abcdef')
check(unicode('defx', codecname), u'defabc')
check(unicode('dxf', codecname), u'dabcf')
check(unicode('dxfx', codecname), u'dabcfabc')
class CharmapCodecTest(unittest.TestCase):
def test_constructorx(self):
self.assertEquals(unicode('abc', codecname), u'abc')
self.assertEquals(unicode('xdef', codecname), u'abcdef')
self.assertEquals(unicode('defx', codecname), u'defabc')
self.assertEquals(unicode('dxf', codecname), u'dabcf')
self.assertEquals(unicode('dxfx', codecname), u'dabcfabc')
check(u'abc'.encode(codecname), 'abc')
check(u'xdef'.encode(codecname), 'abcdef')
check(u'defx'.encode(codecname), 'defabc')
check(u'dxf'.encode(codecname), 'dabcf')
check(u'dxfx'.encode(codecname), 'dabcfabc')
def test_encodex(self):
self.assertEquals(u'abc'.encode(codecname), 'abc')
self.assertEquals(u'xdef'.encode(codecname), 'abcdef')
self.assertEquals(u'defx'.encode(codecname), 'defabc')
self.assertEquals(u'dxf'.encode(codecname), 'dabcf')
self.assertEquals(u'dxfx'.encode(codecname), 'dabcfabc')
check(unicode('ydef', codecname), u'def')
check(unicode('defy', codecname), u'def')
check(unicode('dyf', codecname), u'df')
check(unicode('dyfy', codecname), u'df')
def test_constructory(self):
self.assertEquals(unicode('ydef', codecname), u'def')
self.assertEquals(unicode('defy', codecname), u'def')
self.assertEquals(unicode('dyf', codecname), u'df')
self.assertEquals(unicode('dyfy', codecname), u'df')
try:
unicode('abc\001', codecname)
except UnicodeError:
print '\\001 maps to undefined: OK'
else:
print '*** check failed: \\001 does not map to undefined'
def test_maptoundefined(self):
self.assertRaises(UnicodeError, unicode, 'abc\001', codecname)
def test_main():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(CharmapCodecTest))
test.test_support.run_suite(suite)
if __name__ == "__main__":
test_main()