Mercurial > hgrepos > Python > libs > pygments-lexer-pseudocode2
diff tests/test_algpseudo.py @ 212:18553f595b34
Allow nested \TEXT and \EXPR commands.
\TEXT within \TEXT and \EXPR within \EXPR is allowed!
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Thu, 14 May 2026 07:30:38 +0200 |
| parents | 11ce0903ff8b |
| children | f365d9d2c0ad |
line wrap: on
line diff
--- a/tests/test_algpseudo.py Wed May 13 21:22:33 2026 +0200 +++ b/tests/test_algpseudo.py Thu May 14 07:30:38 2026 +0200 @@ -1032,6 +1032,58 @@ ], pygments.lex(r"....", self.lexer)) + def test_nested_expr(self): + self.assertTokenStreamEqualComplete( + [("Name.Entity", "foo"), + ("Text", " "), + ("Operator", "+"), + ("Text", " "), + ("Name.Entity", "bar"), + ("Text", " "), + ("Operator", "*"), + ("Text", " "), + ("Number.Integer", '7'), + ("Text.Whitespace", "\n"), + ], + pygments.lex(r"\EXPR{\EXPR{foo + bar} * 7}", self.lexer)) + + def test_nested_expr_in_block(self): + self.assertTokenStreamEqualComplete( + [("Text", u"◆"), + ("Text.Whitespace", " "), + ("Name.Entity", "foo"), + ("Text", " "), + ("Operator", "+"), + ("Text", " "), + ("Name.Entity", "bar"), + ("Text", " "), + ("Operator", "*"), + ("Text", " "), + ("Number.Integer", '7'), + ("Text.Whitespace", "\n"), + ], + pygments.lex(u"\\BLOCK{\\EXPR{\\EXPR{foo + bar} * 7}}", + self.lexer)) + + def test_nested_text(self): + self.assertTokenStreamEqualComplete( + [("Text", "foo + bar"), + ("Text", " * 7"), + ("Text.Whitespace", "\n"), + ], + pygments.lex(r"\TEXT{\TEXT{foo + bar} * 7}", self.lexer)) + + def test_nested_text_in_tblock(self): + self.assertTokenStreamEqualComplete( + [("Text", u"▪"), + ("Text.Whitespace", " "), + ("Text", "bar + Foo"), + ("Text", " * 7"), + ("Text.Whitespace", "\n"), + ], + pygments.lex(u"\\TBLOCK{\\TEXT{\\TEXT{bar + Foo} * 7}}", + self.lexer)) + class PygmentizeCompletely(unittest.TestCase):
