2015-04-19 03:36:20 -07:00
|
|
|
from __future__ import print_function, division, absolute_import, unicode_literals
|
|
|
|
from fontTools.misc.py23 import *
|
|
|
|
import unittest
|
|
|
|
from .encodingTools import getEncoding
|
|
|
|
|
|
|
|
class EncodingTest(unittest.TestCase):
|
|
|
|
|
|
|
|
def test_encoding_unicode(self):
|
|
|
|
|
2015-04-19 04:24:55 -07:00
|
|
|
self.assertEqual(getEncoding(3, 0, None), "utf_16be") # MS Symbol is Unicode as well
|
|
|
|
self.assertEqual(getEncoding(3, 1, None), "utf_16be")
|
|
|
|
self.assertEqual(getEncoding(3, 10, None), "utf_16be")
|
|
|
|
self.assertEqual(getEncoding(0, 3, None), "utf_16be")
|
2015-04-19 03:36:20 -07:00
|
|
|
|
|
|
|
def test_encoding_macroman_misc(self):
|
2015-04-19 04:24:55 -07:00
|
|
|
self.assertEqual(getEncoding(1, 0, 17), "mac_turkish")
|
|
|
|
self.assertEqual(getEncoding(1, 0, 37), "x_mac_romanian_ttx")
|
|
|
|
self.assertEqual(getEncoding(1, 0, 45), "mac_roman")
|
2015-04-19 03:36:20 -07:00
|
|
|
|
|
|
|
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__":
|
|
|
|
unittest.main()
|