| from __future__ import print_function, division, absolute_import, unicode_literals |
| from fontTools.misc.py23 import * |
| import unittest |
| from fontTools.misc.encodingTools import getEncoding |
| |
| class EncodingTest(unittest.TestCase): |
| |
| def test_encoding_unicode(self): |
| |
| self.assertEqual(getEncoding(3, 0, None), "utf_16_be") # MS Symbol is Unicode as well |
| self.assertEqual(getEncoding(3, 1, None), "utf_16_be") |
| self.assertEqual(getEncoding(3, 10, None), "utf_16_be") |
| self.assertEqual(getEncoding(0, 3, None), "utf_16_be") |
| |
| def test_encoding_macroman_misc(self): |
| self.assertEqual(getEncoding(1, 0, 17), "mac_turkish") |
| self.assertEqual(getEncoding(1, 0, 37), "mac_romanian") |
| self.assertEqual(getEncoding(1, 0, 45), "mac_roman") |
| |
| def test_extended_mac_encodings(self): |
| encoding = getEncoding(1, 1, 0) # Mac Japanese |
| decoded = b'\xfe'.decode(encoding) |
| self.assertEqual(decoded, unichr(0x2122)) |
| |
| def test_extended_unknown(self): |
| self.assertEqual(getEncoding(10, 11, 12), None) |
| self.assertEqual(getEncoding(10, 11, 12, "ascii"), "ascii") |
| self.assertEqual(getEncoding(10, 11, 12, default="ascii"), "ascii") |
| |
| if __name__ == "__main__": |
| import sys |
| sys.exit(unittest.main()) |