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