| from fontTools.feaLib import ast |
| import unittest |
| |
| |
| class AstTest(unittest.TestCase): |
| def test_glyphname_escape(self): |
| statement = ast.GlyphClass() |
| for name in ("BASE", "NULL", "foo", "a"): |
| statement.append(ast.GlyphName(name)) |
| self.assertEqual(statement.asFea(), r"[\BASE \NULL foo a]") |
| |
| def test_valuerecord_none(self): |
| statement = ast.ValueRecord(xPlacement=10, xAdvance=20) |
| self.assertEqual(statement.asFea(), "<10 0 20 0>") |
| |
| def test_non_object_location(self): |
| el = ast.Element(location=("file.fea", 1, 2)) |
| self.assertEqual(el.location.file, "file.fea") |
| self.assertEqual(el.location.line, 1) |
| self.assertEqual(el.location.column, 2) |
| |
| |
| if __name__ == "__main__": |
| import sys |
| sys.exit(unittest.main()) |