home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2011 July / maximum-cd-2011-07.iso / DiscContents / LibO_3.3.2_Win_x86_install_multi.exe / libreoffice1.cab / test_charmapcodec.py < prev    next >
Encoding:
Python Source  |  2011-03-15  |  1.8 KB  |  57 lines

  1. """ Python character mapping codec test
  2.  
  3. This uses the test codec in testcodec.py and thus also tests the
  4. encodings package lookup scheme.
  5.  
  6. Written by Marc-Andre Lemburg (mal@lemburg.com).
  7.  
  8. (c) Copyright 2000 Guido van Rossum.
  9.  
  10. """#"
  11.  
  12. import test.test_support, unittest
  13.  
  14. import codecs
  15.  
  16. # Register a search function which knows about our codec
  17. def codec_search_function(encoding):
  18.     if encoding == 'testcodec':
  19.         from test import testcodec
  20.         return tuple(testcodec.getregentry())
  21.     return None
  22.  
  23. codecs.register(codec_search_function)
  24.  
  25. # test codec's name (see test/testcodec.py)
  26. codecname = 'testcodec'
  27.  
  28. class CharmapCodecTest(unittest.TestCase):
  29.     def test_constructorx(self):
  30.         self.assertEquals(unicode('abc', codecname), u'abc')
  31.         self.assertEquals(unicode('xdef', codecname), u'abcdef')
  32.         self.assertEquals(unicode('defx', codecname), u'defabc')
  33.         self.assertEquals(unicode('dxf', codecname), u'dabcf')
  34.         self.assertEquals(unicode('dxfx', codecname), u'dabcfabc')
  35.  
  36.     def test_encodex(self):
  37.         self.assertEquals(u'abc'.encode(codecname), 'abc')
  38.         self.assertEquals(u'xdef'.encode(codecname), 'abcdef')
  39.         self.assertEquals(u'defx'.encode(codecname), 'defabc')
  40.         self.assertEquals(u'dxf'.encode(codecname), 'dabcf')
  41.         self.assertEquals(u'dxfx'.encode(codecname), 'dabcfabc')
  42.  
  43.     def test_constructory(self):
  44.         self.assertEquals(unicode('ydef', codecname), u'def')
  45.         self.assertEquals(unicode('defy', codecname), u'def')
  46.         self.assertEquals(unicode('dyf', codecname), u'df')
  47.         self.assertEquals(unicode('dyfy', codecname), u'df')
  48.  
  49.     def test_maptoundefined(self):
  50.         self.assertRaises(UnicodeError, unicode, 'abc\001', codecname)
  51.  
  52. def test_main():
  53.     test.test_support.run_unittest(CharmapCodecTest)
  54.  
  55. if __name__ == "__main__":
  56.     test_main()
  57.