diff options
Diffstat (limited to 'Lib/test/test_multibytecodec_support.py')
| -rw-r--r-- | Lib/test/test_multibytecodec_support.py | 16 | 
1 files changed, 15 insertions, 1 deletions
diff --git a/Lib/test/test_multibytecodec_support.py b/Lib/test/test_multibytecodec_support.py index 40a67ea..2073223 100644 --- a/Lib/test/test_multibytecodec_support.py +++ b/Lib/test/test_multibytecodec_support.py @@ -5,7 +5,7 @@  #  import sys, codecs, os.path -import unittest +import unittest, re  from test import test_support  from io import BytesIO @@ -272,6 +272,12 @@ class TestBase_Mapping(unittest.TestCase):          return test_support.open_urlresource(self.mapfileurl)      def test_mapping_file(self): +        if self.mapfileurl.endswith('.xml'): +            self._test_mapping_file_ucm() +        else: +            self._test_mapping_file_plain() + +    def _test_mapping_file_plain(self):          unichrs = lambda s: ''.join(map(chr, map(eval, s.split('+'))))          urt_wa = {} @@ -303,6 +309,14 @@ class TestBase_Mapping(unittest.TestCase):              self._testpoint(csetch, unich) +    def _test_mapping_file_ucm(self): +        ucmdata = self.open_mapping_file().read() +        uc = re.findall('<a u="([A-F0-9]{4})" b="([0-9A-F ]+)"/>', ucmdata) +        for uni, coded in uc: +            unich = chr(int(uni, 16)) +            codech = bytes(int(c, 16) for c in coded.split()) +            self._testpoint(codech, unich) +      def test_mapping_supplemental(self):          for mapping in self.supmaps:              self._testpoint(*mapping)  | 
