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