comparison tests/test_algpseudo.py @ 162:11ce0903ff8b

Yield lone backslash characters in expressions that not really escape anything as "Generic.Error" now. In text-mode do this not.
author Franz Glasner <fzglas.hg@dom66.de>
date Fri, 08 May 2026 17:58:50 +0200
parents 4ee0b1536ea6
children 18553f595b34
comparison
equal deleted inserted replaced
161:00a432d14508 162:11ce0903ff8b
163 def test_proc_with_escape_in_name(self): 163 def test_proc_with_escape_in_name(self):
164 self.assertTokenStreamEqualComplete( 164 self.assertTokenStreamEqualComplete(
165 [("Keyword", "PROCEDURE"), 165 [("Keyword", "PROCEDURE"),
166 ("Text.Whitespace", " "), 166 ("Text.Whitespace", " "),
167 ("Name.Entity", "t"), 167 ("Name.Entity", "t"),
168 ("Name.Entity", "\\"), 168 ("Generic.Error", "\\"),
169 ("Name.Entity", "he "), 169 ("Name.Entity", "he "),
170 ("Name.Entity", "\\"), 170 ("Name.Entity", "\\"),
171 ("Name.Entity", "}"), 171 ("Name.Entity", "}"),
172 ("Name.Entity", "name"), 172 ("Name.Entity", "name"),
173 ("Text.Whitespace", "\n"), 173 ("Text.Whitespace", "\n"),
257 257
258 def test_function_3(self): 258 def test_function_3(self):
259 self.assertTokenStreamEqualComplete( 259 self.assertTokenStreamEqualComplete(
260 [("Keyword", "FUNCTION"), 260 [("Keyword", "FUNCTION"),
261 ("Text.Whitespace", " "), 261 ("Text.Whitespace", " "),
262 ("Generic.Error", "\\"),
263 ("Name.Entity", "n"),
264 ("Name.Entity", "}"),
265 ("Text.Whitespace", "\n"),
266 ],
267 pygments.lex(r"\FN {\n\}}", self.lexer))
268
269 def test_class(self):
270 self.assertTokenStreamEqualComplete(
271 [("Keyword", "CLASS"),
272 ("Text.Whitespace", " "),
273 ("Generic.Error", "\\"),
274 ("Name.Entity", "n"),
275 ("Name.Entity", "\\"),
276 ("Name.Entity", "}"),
277 ("Text.Whitespace", "\n"),
278 ],
279 pygments.lex(r"\CLASS {\n\\\}}", self.lexer))
280
281 def test_class_fr(self):
282 lexer = pygments.lexers.load_lexer_from_file(
283 ALGLEXERFILENAME, "AlgPseudocodeLexer_FR")
284 self.assertTokenStreamEqualComplete(
285 [("Keyword", "CLASSE"),
286 ("Text.Whitespace", " "),
287 ("Generic.Error", "\\"),
288 ("Name.Entity", "n"),
289 ("Name.Entity", "}"),
290 ("Text.Whitespace", "\n"),
291 ],
292 pygments.lex("\\CLASS {\\n\\}}", lexer))
293
294 def test_class_de_with_noend_option(self):
295 lexer = pygments.lexers.load_lexer_from_file(
296 ALGLEXERFILENAME, "AlgPseudocodeLexer_DE", no_end="True")
297 self.assertTokenStreamEqualComplete(
298 [("Keyword", "KLASSE"),
299 ("Text.Whitespace", " "),
262 ("Name.Entity", "\\"), 300 ("Name.Entity", "\\"),
263 ("Name.Entity", "n"), 301 ("Name.Entity", "n"),
264 ("Name.Entity", "}"), 302 ("Name.Entity", "}"),
265 ("Text.Whitespace", "\n"), 303 ("Text.Whitespace", "\n"),
266 ], 304 ("Text.Whitespace", "\n"),
267 pygments.lex(r"\FN {\n\}}", self.lexer)) 305 ],
268 306 pygments.lex("\\CLASS {\\\\n\\}}\n\\ENDCLASS", lexer))
269 def test_class(self):
270 self.assertTokenStreamEqualComplete(
271 [("Keyword", "CLASS"),
272 ("Text.Whitespace", " "),
273 ("Name.Entity", "\\"),
274 ("Name.Entity", "n"),
275 ("Name.Entity", "}"),
276 ("Text.Whitespace", "\n"),
277 ],
278 pygments.lex(r"\CLASS {\n\}}", self.lexer))
279
280 def test_class_fr(self):
281 lexer = pygments.lexers.load_lexer_from_file(
282 ALGLEXERFILENAME, "AlgPseudocodeLexer_FR")
283 self.assertTokenStreamEqualComplete(
284 [("Keyword", "CLASSE"),
285 ("Text.Whitespace", " "),
286 ("Name.Entity", "\\"),
287 ("Name.Entity", "n"),
288 ("Name.Entity", "}"),
289 ("Text.Whitespace", "\n"),
290 ],
291 pygments.lex("\\CLASS {\\n\\}}", lexer))
292
293 def test_class_de_with_noend_option(self):
294 lexer = pygments.lexers.load_lexer_from_file(
295 ALGLEXERFILENAME, "AlgPseudocodeLexer_DE", no_end="True")
296 self.assertTokenStreamEqualComplete(
297 [("Keyword", "KLASSE"),
298 ("Text.Whitespace", " "),
299 ("Name.Entity", "\\"),
300 ("Name.Entity", "n"),
301 ("Name.Entity", "}"),
302 ("Text.Whitespace", "\n"),
303 ("Text.Whitespace", "\n"),
304 ],
305 pygments.lex("\\CLASS {\\n\\}}\n\\ENDCLASS", lexer))
306 307
307 def test_class_de_with_noend_option_and_name(self): 308 def test_class_de_with_noend_option_and_name(self):
308 lexer = pygments.lexers.load_lexer_from_file( 309 lexer = pygments.lexers.load_lexer_from_file(
309 ALGLEXERFILENAME, "AlgPseudocodeLexer_DE", no_end="True") 310 ALGLEXERFILENAME, "AlgPseudocodeLexer_DE", no_end="True")
310 self.assertTokenStreamEqualComplete( 311 self.assertTokenStreamEqualComplete(
311 [("Keyword", "KLASSE"), 312 [("Keyword", "KLASSE"),
312 ("Text.Whitespace", " "), 313 ("Text.Whitespace", " "),
313 ("Name.Entity", "\\"), 314 ("Generic.Error", "\\"),
314 ("Name.Entity", "n"), 315 ("Name.Entity", "n"),
315 ("Name.Entity", "}"), 316 ("Name.Entity", "}"),
316 ("Text.Whitespace", "\n"), 317 ("Text.Whitespace", "\n"),
317 ("Text.Whitespace", "\n"), 318 ("Text.Whitespace", "\n"),
318 ], 319 ],
1027 def test_dots_four(self): 1028 def test_dots_four(self):
1028 self.assertTokenStreamEqualComplete( 1029 self.assertTokenStreamEqualComplete(
1029 [("Punctuation", "...."), 1030 [("Punctuation", "...."),
1030 ("Text.Whitespace", "\n"), 1031 ("Text.Whitespace", "\n"),
1031 ], 1032 ],
1032 pygments.lex(r"....", self.lexer)) 1033 pygments.lex(r"....", self.lexer))
1033 1034
1034 1035
1035 class PygmentizeCompletely(unittest.TestCase): 1036 class PygmentizeCompletely(unittest.TestCase):
1036 1037
1037 def setUp(self): 1038 def setUp(self):