symbian-qemu-0.9.1-12/python-2.6.1/Lib/test/testcodec.py
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 """ Test Codecs (used by test_charmapcodec)
       
     2 
       
     3 Written by Marc-Andre Lemburg (mal@lemburg.com).
       
     4 
       
     5 (c) Copyright 2000 Guido van Rossum.
       
     6 
       
     7 """#"
       
     8 import codecs
       
     9 
       
    10 ### Codec APIs
       
    11 
       
    12 class Codec(codecs.Codec):
       
    13 
       
    14     def encode(self,input,errors='strict'):
       
    15 
       
    16         return codecs.charmap_encode(input,errors,encoding_map)
       
    17 
       
    18     def decode(self,input,errors='strict'):
       
    19 
       
    20         return codecs.charmap_decode(input,errors,decoding_map)
       
    21 
       
    22 class StreamWriter(Codec,codecs.StreamWriter):
       
    23     pass
       
    24 
       
    25 class StreamReader(Codec,codecs.StreamReader):
       
    26     pass
       
    27 
       
    28 ### encodings module API
       
    29 
       
    30 def getregentry():
       
    31 
       
    32     return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
       
    33 
       
    34 ### Decoding Map
       
    35 
       
    36 decoding_map = codecs.make_identity_dict(range(256))
       
    37 decoding_map.update({
       
    38         0x78: u"abc", # 1-n decoding mapping
       
    39         "abc": 0x0078,# 1-n encoding mapping
       
    40         0x01: None,   # decoding mapping to <undefined>
       
    41         0x79: u"",    # decoding mapping to <remove character>
       
    42 })
       
    43 
       
    44 ### Encoding Map
       
    45 
       
    46 encoding_map = {}
       
    47 for k,v in decoding_map.items():
       
    48     encoding_map[v] = k