Skip to content

Commit

Permalink
Now everything in the AST is a node
Browse files Browse the repository at this point in the history
  • Loading branch information
simoncozens committed Aug 18, 2022
1 parent 72d7171 commit 5ae8d74
Showing 1 changed file with 16 additions and 16 deletions.
32 changes: 16 additions & 16 deletions Tests/feaLib/parser_test.py
Expand Up @@ -1608,22 +1608,22 @@ def test_substitute_multiple(self): # GSUB LookupType 2
doc = self.parse("lookup Look {substitute f_f_i by f f i;} Look;")
sub = doc.statements[0].statements[0]
self.assertIsInstance(sub, ast.MultipleSubstStatement)
self.assertEqual(sub.glyph, "f_f_i")
self.assertEqual(sub.replacement, ("f", "f", "i"))
self.assertEqual(sub.glyph.asFea(), "f_f_i")
self.assertEqual([x.asFea() for x in sub.replacement], ["f", "f", "i"])

def test_substitute_multiple_chained(self): # chain to GSUB LookupType 2
doc = self.parse("lookup L {sub [A-C] f_f_i' [X-Z] by f f i;} L;")
sub = doc.statements[0].statements[0]
self.assertIsInstance(sub, ast.MultipleSubstStatement)
self.assertEqual(sub.glyph, "f_f_i")
self.assertEqual(sub.replacement, ("f", "f", "i"))
self.assertEqual(sub.glyph.asFea(), "f_f_i")
self.assertEqual([x.asFea() for x in sub.replacement], ["f", "f", "i"])

def test_substitute_multiple_force_chained(self):
doc = self.parse("lookup L {sub f_f_i' by f f i;} L;")
sub = doc.statements[0].statements[0]
self.assertIsInstance(sub, ast.MultipleSubstStatement)
self.assertEqual(sub.glyph, "f_f_i")
self.assertEqual(sub.replacement, ("f", "f", "i"))
self.assertEqual(sub.glyph.asFea(), "f_f_i")
self.assertEqual([x.asFea() for x in sub.replacement], ["f", "f", "i"])
self.assertEqual(sub.asFea(), "sub f_f_i' by f f i;")

def test_substitute_multiple_by_mutliple(self):
Expand Down Expand Up @@ -1688,16 +1688,16 @@ def test_substitute_mix_single_multiple(self):
statements = doc.statements[0].statements
for sub in statements:
self.assertIsInstance(sub, ast.MultipleSubstStatement)
self.assertEqual(statements[1].glyph, "f")
self.assertEqual(statements[1].replacement, ["f"])
self.assertEqual(statements[3].glyph, "a")
self.assertEqual(statements[3].replacement, ["a"])
self.assertEqual(statements[4].glyph, "a.sc")
self.assertEqual(statements[4].replacement, ["a"])
self.assertEqual(statements[5].glyph, "a")
self.assertEqual(statements[5].replacement, ["b"])
self.assertEqual(statements[6].glyph, "a.sc")
self.assertEqual(statements[6].replacement, ["b.sc"])
self.assertEqual(statements[1].glyph.asFea(), "f")
self.assertEqual([x.asFea() for x in statements[1].replacement], ["f"])
self.assertEqual(statements[3].glyph.asFea(), "a")
self.assertEqual([x.asFea() for x in statements[3].replacement], ["a"])
self.assertEqual(statements[4].glyph.asFea(), "a.sc")
self.assertEqual([x.asFea() for x in statements[4].replacement], ["a"])
self.assertEqual(statements[5].glyph.asFea(), "a")
self.assertEqual([x.asFea() for x in statements[5].replacement], ["b"])
self.assertEqual(statements[6].glyph.asFea(), "a.sc")
self.assertEqual([x.asFea() for x in statements[6].replacement], ["b.sc"])

def test_substitute_from(self): # GSUB LookupType 3
doc = self.parse(
Expand Down

0 comments on commit 5ae8d74

Please sign in to comment.