~malept/ubuntu/lucid/python2.6/dev-dependency-fix

« back to all changes in this revision

Viewing changes to Lib/test/testcodec.py

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2009-02-13 12:51:00 UTC
  • Revision ID: james.westby@ubuntu.com-20090213125100-uufgcb9yeqzujpqw
Tags: upstream-2.6.1
ImportĀ upstreamĀ versionĀ 2.6.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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