symbian-qemu-0.9.1-12/python-2.6.1/Lib/test/test_codecencodings_jp.py
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 #!/usr/bin/env python
       
     2 #
       
     3 # test_codecencodings_jp.py
       
     4 #   Codec encoding tests for Japanese encodings.
       
     5 #
       
     6 
       
     7 from test import test_support
       
     8 from test import test_multibytecodec_support
       
     9 import unittest
       
    10 
       
    11 class Test_CP932(test_multibytecodec_support.TestBase, unittest.TestCase):
       
    12     encoding = 'cp932'
       
    13     tstring = test_multibytecodec_support.load_teststring('shift_jis')
       
    14     codectests = (
       
    15         # invalid bytes
       
    16         ("abc\x81\x00\x81\x00\x82\x84", "strict",  None),
       
    17         ("abc\xf8", "strict",  None),
       
    18         ("abc\x81\x00\x82\x84", "replace", u"abc\ufffd\uff44"),
       
    19         ("abc\x81\x00\x82\x84\x88", "replace", u"abc\ufffd\uff44\ufffd"),
       
    20         ("abc\x81\x00\x82\x84", "ignore",  u"abc\uff44"),
       
    21         # sjis vs cp932
       
    22         ("\\\x7e", "replace", u"\\\x7e"),
       
    23         ("\x81\x5f\x81\x61\x81\x7c", "replace", u"\uff3c\u2225\uff0d"),
       
    24     )
       
    25 
       
    26 class Test_EUC_JISX0213(test_multibytecodec_support.TestBase,
       
    27                         unittest.TestCase):
       
    28     encoding = 'euc_jisx0213'
       
    29     tstring = test_multibytecodec_support.load_teststring('euc_jisx0213')
       
    30     codectests = (
       
    31         # invalid bytes
       
    32         ("abc\x80\x80\xc1\xc4", "strict",  None),
       
    33         ("abc\xc8", "strict",  None),
       
    34         ("abc\x80\x80\xc1\xc4", "replace", u"abc\ufffd\u7956"),
       
    35         ("abc\x80\x80\xc1\xc4\xc8", "replace", u"abc\ufffd\u7956\ufffd"),
       
    36         ("abc\x80\x80\xc1\xc4", "ignore",  u"abc\u7956"),
       
    37         ("abc\x8f\x83\x83", "replace", u"abc\ufffd"),
       
    38         ("\xc1\x64", "strict", None),
       
    39         ("\xa1\xc0", "strict", u"\uff3c"),
       
    40     )
       
    41     xmlcharnametest = (
       
    42         u"\xab\u211c\xbb = \u2329\u1234\u232a",
       
    43         "\xa9\xa8ℜ\xa9\xb2 = ⟨ሴ⟩"
       
    44     )
       
    45 
       
    46 eucjp_commontests = (
       
    47     ("abc\x80\x80\xc1\xc4", "strict",  None),
       
    48     ("abc\xc8", "strict",  None),
       
    49     ("abc\x80\x80\xc1\xc4", "replace", u"abc\ufffd\u7956"),
       
    50     ("abc\x80\x80\xc1\xc4\xc8", "replace", u"abc\ufffd\u7956\ufffd"),
       
    51     ("abc\x80\x80\xc1\xc4", "ignore",  u"abc\u7956"),
       
    52     ("abc\x8f\x83\x83", "replace", u"abc\ufffd"),
       
    53     ("\xc1\x64", "strict", None),
       
    54 )
       
    55 
       
    56 class Test_EUC_JP_COMPAT(test_multibytecodec_support.TestBase,
       
    57                          unittest.TestCase):
       
    58     encoding = 'euc_jp'
       
    59     tstring = test_multibytecodec_support.load_teststring('euc_jp')
       
    60     codectests = eucjp_commontests + (
       
    61         ("\xa1\xc0\\", "strict", u"\uff3c\\"),
       
    62         (u"\xa5", "strict", "\x5c"),
       
    63         (u"\u203e", "strict", "\x7e"),
       
    64     )
       
    65 
       
    66 shiftjis_commonenctests = (
       
    67     ("abc\x80\x80\x82\x84", "strict",  None),
       
    68     ("abc\xf8", "strict",  None),
       
    69     ("abc\x80\x80\x82\x84", "replace", u"abc\ufffd\uff44"),
       
    70     ("abc\x80\x80\x82\x84\x88", "replace", u"abc\ufffd\uff44\ufffd"),
       
    71     ("abc\x80\x80\x82\x84def", "ignore",  u"abc\uff44def"),
       
    72 )
       
    73 
       
    74 class Test_SJIS_COMPAT(test_multibytecodec_support.TestBase, unittest.TestCase):
       
    75     encoding = 'shift_jis'
       
    76     tstring = test_multibytecodec_support.load_teststring('shift_jis')
       
    77     codectests = shiftjis_commonenctests + (
       
    78         ("\\\x7e", "strict", u"\\\x7e"),
       
    79         ("\x81\x5f\x81\x61\x81\x7c", "strict", u"\uff3c\u2016\u2212"),
       
    80     )
       
    81 
       
    82 class Test_SJISX0213(test_multibytecodec_support.TestBase, unittest.TestCase):
       
    83     encoding = 'shift_jisx0213'
       
    84     tstring = test_multibytecodec_support.load_teststring('shift_jisx0213')
       
    85     codectests = (
       
    86         # invalid bytes
       
    87         ("abc\x80\x80\x82\x84", "strict",  None),
       
    88         ("abc\xf8", "strict",  None),
       
    89         ("abc\x80\x80\x82\x84", "replace", u"abc\ufffd\uff44"),
       
    90         ("abc\x80\x80\x82\x84\x88", "replace", u"abc\ufffd\uff44\ufffd"),
       
    91         ("abc\x80\x80\x82\x84def", "ignore",  u"abc\uff44def"),
       
    92         # sjis vs cp932
       
    93         ("\\\x7e", "replace", u"\xa5\u203e"),
       
    94         ("\x81\x5f\x81\x61\x81\x7c", "replace", u"\x5c\u2016\u2212"),
       
    95     )
       
    96     xmlcharnametest = (
       
    97         u"\xab\u211c\xbb = \u2329\u1234\u232a",
       
    98         "\x85Gℜ\x85Q = ⟨ሴ⟩"
       
    99     )
       
   100 
       
   101 def test_main():
       
   102     test_support.run_unittest(__name__)
       
   103 
       
   104 if __name__ == "__main__":
       
   105     test_main()