1from __future__ import print_function, division, absolute_import, unicode_literals 2from fontTools.misc.py23 import * 3import unittest 4from fontTools.misc.encodingTools import getEncoding 5 6class EncodingTest(unittest.TestCase): 7 8 def test_encoding_unicode(self): 9 10 self.assertEqual(getEncoding(3, 0, None), "utf_16_be") # MS Symbol is Unicode as well 11 self.assertEqual(getEncoding(3, 1, None), "utf_16_be") 12 self.assertEqual(getEncoding(3, 10, None), "utf_16_be") 13 self.assertEqual(getEncoding(0, 3, None), "utf_16_be") 14 15 def test_encoding_macroman_misc(self): 16 self.assertEqual(getEncoding(1, 0, 17), "mac_turkish") 17 self.assertEqual(getEncoding(1, 0, 37), "mac_romanian") 18 self.assertEqual(getEncoding(1, 0, 45), "mac_roman") 19 20 def test_extended_mac_encodings(self): 21 encoding = getEncoding(1, 1, 0) # Mac Japanese 22 decoded = b'\xfe'.decode(encoding) 23 self.assertEqual(decoded, unichr(0x2122)) 24 25 def test_extended_unknown(self): 26 self.assertEqual(getEncoding(10, 11, 12), None) 27 self.assertEqual(getEncoding(10, 11, 12, "ascii"), "ascii") 28 self.assertEqual(getEncoding(10, 11, 12, default="ascii"), "ascii") 29 30if __name__ == "__main__": 31 import sys 32 sys.exit(unittest.main()) 33