test_codecmaps_jp.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #
  2. # test_codecmaps_jp.py
  3. # Codec mapping tests for Japanese encodings
  4. #
  5. from test import multibytecodec_support
  6. import unittest
  7. class TestCP932Map(multibytecodec_support.TestBase_Mapping,
  8. unittest.TestCase):
  9. encoding = 'cp932'
  10. mapfileurl = 'http://www.pythontest.net/unicode/CP932.TXT'
  11. supmaps = [
  12. (b'\x80', '\u0080'),
  13. (b'\xa0', '\uf8f0'),
  14. (b'\xfd', '\uf8f1'),
  15. (b'\xfe', '\uf8f2'),
  16. (b'\xff', '\uf8f3'),
  17. ]
  18. for i in range(0xa1, 0xe0):
  19. supmaps.append((bytes([i]), chr(i+0xfec0)))
  20. class TestEUCJPCOMPATMap(multibytecodec_support.TestBase_Mapping,
  21. unittest.TestCase):
  22. encoding = 'euc_jp'
  23. mapfilename = 'EUC-JP.TXT'
  24. mapfileurl = 'http://www.pythontest.net/unicode/EUC-JP.TXT'
  25. class TestSJISCOMPATMap(multibytecodec_support.TestBase_Mapping,
  26. unittest.TestCase):
  27. encoding = 'shift_jis'
  28. mapfilename = 'SHIFTJIS.TXT'
  29. mapfileurl = 'http://www.pythontest.net/unicode/SHIFTJIS.TXT'
  30. pass_enctest = [
  31. (b'\x81_', '\\'),
  32. ]
  33. pass_dectest = [
  34. (b'\\', '\xa5'),
  35. (b'~', '\u203e'),
  36. (b'\x81_', '\\'),
  37. ]
  38. class TestEUCJISX0213Map(multibytecodec_support.TestBase_Mapping,
  39. unittest.TestCase):
  40. encoding = 'euc_jisx0213'
  41. mapfilename = 'EUC-JISX0213.TXT'
  42. mapfileurl = 'http://www.pythontest.net/unicode/EUC-JISX0213.TXT'
  43. class TestSJISX0213Map(multibytecodec_support.TestBase_Mapping,
  44. unittest.TestCase):
  45. encoding = 'shift_jisx0213'
  46. mapfilename = 'SHIFT_JISX0213.TXT'
  47. mapfileurl = 'http://www.pythontest.net/unicode/SHIFT_JISX0213.TXT'
  48. if __name__ == "__main__":
  49. unittest.main()