comparison tests/test_algpseudo.py @ 84:3ac1c4502ad0

Implement "\tt-XXX" and "ttx-XXX" for explicit token types. Overwrite defaults or implement tokens that are not yet handled by default.
author Franz Glasner <fzglas.hg@dom66.de>
date Thu, 30 Apr 2026 19:37:24 +0200
parents c14e5fd4d193
children d8ca835c74ea
comparison
equal deleted inserted replaced
83:cd79d2c76347 84:3ac1c4502ad0
449 ("Text", " c"), 449 ("Text", " c"),
450 ("Text.Whitespace", "\n"), 450 ("Text.Whitespace", "\n"),
451 ], 451 ],
452 pygments.lex(r"\tstate{a 1.2 \\expr{x in X\} c}", self.lexer)) 452 pygments.lex(r"\tstate{a 1.2 \\expr{x in X\} c}", self.lexer))
453 453
454 def test_explicit_extended_single_tokentype_1(self):
455 self.assertTokenStreamEqualComplete(
456 [("Operator", "%"),
457 ("Text.Whitespace", "\n"),
458 ],
459 pygments.lex(r"\ttx-o:%:", self.lexer))
460
461 def test_explicit_extended_single_tokentype_2(self):
462 self.assertTokenStreamEqualComplete(
463 [("Operator", "{"),
464 ("Text.Whitespace", "\n"),
465 ],
466 pygments.lex(r"\ttx-o{{}", self.lexer))
467
468 def test_explicit_extended_single_tokentype_3(self):
469 self.assertTokenStreamEqualComplete(
470 [("Operator", "<"),
471 ("Text.Whitespace", "\n"),
472 ],
473 pygments.lex(r"\ttx-o<<>", self.lexer))
474
475 def test_explicit_extended_single_tokentype_4(self):
476 self.assertTokenStreamEqualComplete(
477 [("Operator", "("),
478 ("Text.Whitespace", "\n"),
479 ],
480 pygments.lex(r"\ttx-o(()", self.lexer))
481
482 def test_explicit_extended_multi_tokentype_1(self):
483 self.assertTokenStreamEqualComplete(
484 [("Operator", "xxx in A"),
485 ("Text.Whitespace", "\n"),
486 ],
487 pygments.lex(r"\ttx-o/xxx in A/", self.lexer))
488
489 def test_explicit_extended_multi_tokentype_2(self):
490 self.assertTokenStreamEqualComplete(
491 [("Operator", "xxx in B"),
492 ("Text.Whitespace", "\n"),
493 ],
494 pygments.lex(r"\ttx-o{xxx in B}", self.lexer))
495
496 def test_explicit_extended_multi_tokentype_3(self):
497 self.assertTokenStreamEqualComplete(
498 [("Operator", "xxx in C"),
499 ("Text.Whitespace", "\n"),
500 ],
501 pygments.lex(r"\ttx-o<xxx in C>", self.lexer))
502
503 def test_explicit_extended_multi_tokentype_4(self):
504 self.assertTokenStreamEqualComplete(
505 [("Operator", "xxx in D"),
506 ("Text.Whitespace", "\n"),
507 ],
508 pygments.lex(r"\ttx-o(xxx in D)", self.lexer))
509
510 def test_explicit_tokentype_simple_1(self):
511 self.assertTokenStreamEqualComplete(
512 [("Operator", "}"),
513 ("Operator", "/"),
514 ("Text.Whitespace", "\n"),
515 ],
516 pygments.lex(r"\tt-o/}\tt-o//", self.lexer))
517
518 def test_explicit_tokentype_simple_2(self):
519 self.assertTokenStreamEqualComplete(
520 [("Operator", "\n"),
521 ("Operator", "/"),
522 ("Text", " \n"), # because of r"\s+", Text for expressions
523 ],
524 pygments.lex("\\tt-o/\n\\tt-o// ", self.lexer))
525
454 526
455 class PygmentizeCompletely(unittest.TestCase): 527 class PygmentizeCompletely(unittest.TestCase):
456 528
457 def setUp(self): 529 def setUp(self):
458 self.lexer = pygments.lexers.load_lexer_from_file( 530 self.lexer = pygments.lexers.load_lexer_from_file(