From ef34274d3bec2ac513f6e67bca9eb2ecda5a0cd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Lemburg?= Date: Wed, 10 Jan 2001 10:21:11 +0000 Subject: 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. --- Lib/test/testcodec.py | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 Lib/test/testcodec.py (limited to 'Lib/test/testcodec.py') diff --git a/Lib/test/testcodec.py b/Lib/test/testcodec.py new file mode 100644 index 0000000000..0cf9b07df0 --- /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 + 0x79: u"", # decoding mapping to +}) + +### Encoding Map + +encoding_map = {} +for k,v in decoding_map.items(): + encoding_map[v] = k + -- cgit v1.2.1