comparison 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
comparison
equal deleted inserted replaced
211:33a722c8ae17 212:18553f595b34
1030 [("Punctuation", "...."), 1030 [("Punctuation", "...."),
1031 ("Text.Whitespace", "\n"), 1031 ("Text.Whitespace", "\n"),
1032 ], 1032 ],
1033 pygments.lex(r"....", self.lexer)) 1033 pygments.lex(r"....", self.lexer))
1034 1034
1035 def test_nested_expr(self):
1036 self.assertTokenStreamEqualComplete(
1037 [("Name.Entity", "foo"),
1038 ("Text", " "),
1039 ("Operator", "+"),
1040 ("Text", " "),
1041 ("Name.Entity", "bar"),
1042 ("Text", " "),
1043 ("Operator", "*"),
1044 ("Text", " "),
1045 ("Number.Integer", '7'),
1046 ("Text.Whitespace", "\n"),
1047 ],
1048 pygments.lex(r"\EXPR{\EXPR{foo + bar} * 7}", self.lexer))
1049
1050 def test_nested_expr_in_block(self):
1051 self.assertTokenStreamEqualComplete(
1052 [("Text", u"◆"),
1053 ("Text.Whitespace", " "),
1054 ("Name.Entity", "foo"),
1055 ("Text", " "),
1056 ("Operator", "+"),
1057 ("Text", " "),
1058 ("Name.Entity", "bar"),
1059 ("Text", " "),
1060 ("Operator", "*"),
1061 ("Text", " "),
1062 ("Number.Integer", '7'),
1063 ("Text.Whitespace", "\n"),
1064 ],
1065 pygments.lex(u"\\BLOCK{\\EXPR{\\EXPR{foo + bar} * 7}}",
1066 self.lexer))
1067
1068 def test_nested_text(self):
1069 self.assertTokenStreamEqualComplete(
1070 [("Text", "foo + bar"),
1071 ("Text", " * 7"),
1072 ("Text.Whitespace", "\n"),
1073 ],
1074 pygments.lex(r"\TEXT{\TEXT{foo + bar} * 7}", self.lexer))
1075
1076 def test_nested_text_in_tblock(self):
1077 self.assertTokenStreamEqualComplete(
1078 [("Text", u"▪"),
1079 ("Text.Whitespace", " "),
1080 ("Text", "bar + Foo"),
1081 ("Text", " * 7"),
1082 ("Text.Whitespace", "\n"),
1083 ],
1084 pygments.lex(u"\\TBLOCK{\\TEXT{\\TEXT{bar + Foo} * 7}}",
1085 self.lexer))
1086
1035 1087
1036 class PygmentizeCompletely(unittest.TestCase): 1088 class PygmentizeCompletely(unittest.TestCase):
1037 1089
1038 def setUp(self): 1090 def setUp(self):
1039 self.lexer = pygments.lexers.load_lexer_from_file( 1091 self.lexer = pygments.lexers.load_lexer_from_file(