diff options
| author | Simon <simon@hardwired.org.uk> | 2011-03-22 17:58:52 (GMT) |
|---|---|---|
| committer | Simon <simon@hardwired.org.uk> | 2011-03-22 17:58:52 (GMT) |
| commit | 2e401babb793238564ca640fc802a52ab7f6c293 (patch) | |
| tree | 87a9b471e82604e76f96d556f5771322fb31818a /src/python/stdlib/test/testcodec.py | |
| parent | c096b2b14a200a0cc0a08cfea839c9e7f4edf22e (diff) | |
| parent | 04a9cbcb8855e64db660a8c6e23d79114b4afd83 (diff) | |
| download | powder-2e401babb793238564ca640fc802a52ab7f6c293.zip powder-2e401babb793238564ca640fc802a52ab7f6c293.tar.gz | |
Python console
Diffstat (limited to 'src/python/stdlib/test/testcodec.py')
| -rw-r--r-- | src/python/stdlib/test/testcodec.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/python/stdlib/test/testcodec.py b/src/python/stdlib/test/testcodec.py new file mode 100644 index 0000000..5da754d --- /dev/null +++ b/src/python/stdlib/test/testcodec.py @@ -0,0 +1,48 @@ +""" 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 |
