| """ 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. |
| |
| """#" |
| |
| def check(a, b): |
| if a != b: |
| print '*** check failed: %s != %s' % (repr(a), repr(b)) |
| else: |
| print '%s == %s: OK' % (a, b) |
| |
| # 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') |
| |
| 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') |
| |
| check(unicode('ydef', codecname), u'def') |
| check(unicode('defy', codecname), u'def') |
| check(unicode('dyf', codecname), u'df') |
| check(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' |