Staging
v0.8.1
v0.8.1
https://github.com/python/cpython
Tip revision: 74f4bd53e03ded8408bcc2de67cf0f5a4ac5b1a1 authored by Barry Warsaw on 23 February 2012, 15:59:38 UTC
Bump some more copyright years (as per PEP 101), since this is the first
Bump some more copyright years (as per PEP 101), since this is the first
Tip revision: 74f4bd5
test_charmapcodec.py
""" Python character mapping codec test
This uses the test codec in testcodec.py and thus also tests the
encodings package lookup scheme.
Written by Marc-Andre Lemburg (mal@lemburg.com).
(c) Copyright 2000 Guido van Rossum.
"""#"
import test.test_support, unittest
import codecs
# Register a search function which knows about our codec
def codec_search_function(encoding):
if encoding == 'testcodec':
from test import testcodec
return tuple(testcodec.getregentry())
return None
codecs.register(codec_search_function)
# test codec's name (see test/testcodec.py)
codecname = 'testcodec'
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')
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')
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')
def test_maptoundefined(self):
self.assertRaises(UnicodeError, unicode, 'abc\001', codecname)
def test_main():
test.test_support.run_unittest(CharmapCodecTest)
if __name__ == "__main__":
test_main()