home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2011 June / maximum-cd-2011-06.iso / DiscContents / LibO_3.3.1_Win_x86_install_multi.exe / libreoffice1.cab / test_codecencodings_kr.py < prev    next >
Encoding:
Python Source  |  2011-02-15  |  2.7 KB  |  70 lines

  1. #!/usr/bin/env python
  2. #
  3. # test_codecencodings_kr.py
  4. #   Codec encoding tests for ROK encodings.
  5. #
  6.  
  7. from test import test_support
  8. from test import test_multibytecodec_support
  9. import unittest
  10.  
  11. class Test_CP949(test_multibytecodec_support.TestBase, unittest.TestCase):
  12.     encoding = 'cp949'
  13.     tstring = test_multibytecodec_support.load_teststring('cp949')
  14.     codectests = (
  15.         # invalid bytes
  16.         ("abc\x80\x80\xc1\xc4", "strict",  None),
  17.         ("abc\xc8", "strict",  None),
  18.         ("abc\x80\x80\xc1\xc4", "replace", u"abc\ufffd\uc894"),
  19.         ("abc\x80\x80\xc1\xc4\xc8", "replace", u"abc\ufffd\uc894\ufffd"),
  20.         ("abc\x80\x80\xc1\xc4", "ignore",  u"abc\uc894"),
  21.     )
  22.  
  23. class Test_EUCKR(test_multibytecodec_support.TestBase, unittest.TestCase):
  24.     encoding = 'euc_kr'
  25.     tstring = test_multibytecodec_support.load_teststring('euc_kr')
  26.     codectests = (
  27.         # invalid bytes
  28.         ("abc\x80\x80\xc1\xc4", "strict",  None),
  29.         ("abc\xc8", "strict",  None),
  30.         ("abc\x80\x80\xc1\xc4", "replace", u"abc\ufffd\uc894"),
  31.         ("abc\x80\x80\xc1\xc4\xc8", "replace", u"abc\ufffd\uc894\ufffd"),
  32.         ("abc\x80\x80\xc1\xc4", "ignore",  u"abc\uc894"),
  33.  
  34.         # composed make-up sequence errors
  35.         ("\xa4\xd4", "strict", None),
  36.         ("\xa4\xd4\xa4", "strict", None),
  37.         ("\xa4\xd4\xa4\xb6", "strict", None),
  38.         ("\xa4\xd4\xa4\xb6\xa4", "strict", None),
  39.         ("\xa4\xd4\xa4\xb6\xa4\xd0", "strict", None),
  40.         ("\xa4\xd4\xa4\xb6\xa4\xd0\xa4", "strict", None),
  41.         ("\xa4\xd4\xa4\xb6\xa4\xd0\xa4\xd4", "strict", u"\uc4d4"),
  42.         ("\xa4\xd4\xa4\xb6\xa4\xd0\xa4\xd4x", "strict", u"\uc4d4x"),
  43.         ("a\xa4\xd4\xa4\xb6\xa4", "replace", u"a\ufffd"),
  44.         ("\xa4\xd4\xa3\xb6\xa4\xd0\xa4\xd4", "strict", None),
  45.         ("\xa4\xd4\xa4\xb6\xa3\xd0\xa4\xd4", "strict", None),
  46.         ("\xa4\xd4\xa4\xb6\xa4\xd0\xa3\xd4", "strict", None),
  47.         ("\xa4\xd4\xa4\xff\xa4\xd0\xa4\xd4", "replace", u"\ufffd"),
  48.         ("\xa4\xd4\xa4\xb6\xa4\xff\xa4\xd4", "replace", u"\ufffd"),
  49.         ("\xa4\xd4\xa4\xb6\xa4\xd0\xa4\xff", "replace", u"\ufffd"),
  50.         ("\xc1\xc4", "strict", u"\uc894"),
  51.     )
  52.  
  53. class Test_JOHAB(test_multibytecodec_support.TestBase, unittest.TestCase):
  54.     encoding = 'johab'
  55.     tstring = test_multibytecodec_support.load_teststring('johab')
  56.     codectests = (
  57.         # invalid bytes
  58.         ("abc\x80\x80\xc1\xc4", "strict",  None),
  59.         ("abc\xc8", "strict",  None),
  60.         ("abc\x80\x80\xc1\xc4", "replace", u"abc\ufffd\ucd27"),
  61.         ("abc\x80\x80\xc1\xc4\xc8", "replace", u"abc\ufffd\ucd27\ufffd"),
  62.         ("abc\x80\x80\xc1\xc4", "ignore",  u"abc\ucd27"),
  63.     )
  64.  
  65. def test_main():
  66.     test_support.run_unittest(__name__)
  67.  
  68. if __name__ == "__main__":
  69.     test_main()
  70.