diff options
author | Marc-André Lemburg <mal@egenix.com> | 2001-01-10 10:21:11 (GMT) |
---|---|---|
committer | Marc-André Lemburg <mal@egenix.com> | 2001-01-10 10:21:11 (GMT) |
commit | ef34274d3bec2ac513f6e67bca9eb2ecda5a0cd4 (patch) | |
tree | 9c91b3d322104b113b46d61ae15dbb840272cc3a /Lib/test/testcodec.py | |
parent | 0d9f9dcf67c4c044f27cbbc7d3852951869dee53 (diff) | |
download | cpython-ef34274d3bec2ac513f6e67bca9eb2ecda5a0cd4.zip cpython-ef34274d3bec2ac513f6e67bca9eb2ecda5a0cd4.tar.gz cpython-ef34274d3bec2ac513f6e67bca9eb2ecda5a0cd4.tar.bz2 |
Moved the test codec definition to a new module and updated the test and
codec to test all charmap codec features.
As side-effect of moving the test codec into a new module, the encodings
package codec import mechanism is checked as well.
Diffstat (limited to 'Lib/test/testcodec.py')
-rw-r--r-- | Lib/test/testcodec.py | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/Lib/test/testcodec.py b/Lib/test/testcodec.py new file mode 100644 index 0000000..0cf9b07 --- /dev/null +++ b/Lib/test/testcodec.py @@ -0,0 +1,49 @@ +""" Test Codecs (used by test_charmapcodec) + +Written by Marc-Andre Lemburg (mal@lemburg.com). + +(c) Copyright 2000 Guido van Rossum. + +"""#" +import codecs + +### Codec APIs + +class Codec(codecs.Codec): + + def encode(self,input,errors='strict'): + + return codecs.charmap_encode(input,errors,encoding_map) + + def decode(self,input,errors='strict'): + + return codecs.charmap_decode(input,errors,decoding_map) + +class StreamWriter(Codec,codecs.StreamWriter): + pass + +class StreamReader(Codec,codecs.StreamReader): + pass + +### encodings module API + +def getregentry(): + + return (Codec().encode,Codec().decode,StreamReader,StreamWriter) + +### Decoding Map + +decoding_map = codecs.make_identity_dict(range(256)) +decoding_map.update({ + 0x78: u"abc", # 1-n decoding mapping + "abc": 0x0078,# 1-n encoding mapping + 0x01: None, # decoding mapping to <undefined> + 0x79: u"", # decoding mapping to <remove character> +}) + +### Encoding Map + +encoding_map = {} +for k,v in decoding_map.items(): + encoding_map[v] = k + |