File: encodingTools_test.py

package info (click to toggle)
fonttools 4.61.1-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 27,584 kB
  • sloc: python: 145,091; xml: 103; makefile: 24
file content (33 lines) | stat: -rw-r--r-- 1,189 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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, chr(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())