diff tests/test_algpseudo.py @ 70:5517b0be67f0

Basic "\TEXT" escape for expressions
author Franz Glasner <fzglas.hg@dom66.de>
date Tue, 28 Apr 2026 18:33:27 +0200
parents b3dd247b27a5
children 206017a08ed7
line wrap: on
line diff
--- a/tests/test_algpseudo.py	Tue Apr 28 15:25:10 2026 +0200
+++ b/tests/test_algpseudo.py	Tue Apr 28 18:33:27 2026 +0200
@@ -283,6 +283,53 @@
 \\Rem  the remark 2
 """, self.lexer))
 
+    def test_expr_and_text(self):
+        self.assertTokenStreamEqualComplete(
+            [("Name.Entity", "a"),
+             ("Text", " "),
+             ("Text", "multiplied by"),
+             ("Text", " "),
+             ("Name.Entity", "b"),
+             ("Text", " "),
+             ("Text", "is"),
+             ("Text", " "),
+             ("Number.Integer", "0"),
+             ("Text", "  "),
+             ("Text", "mod"),
+             ("Text", " "),
+             ("Name.Entity", "p"),
+             ("Text.Whitespace", "\n"),
+             ],
+            pygments.lex(
+                r"""a \TEXT{multiplied by} b \text{is} 0  \text{mod} p""",
+                self.lexer))
+
+    def test_expr_and_text_with_escaped_characters(self):
+        self.assertTokenStreamEqualComplete(
+            [("Name.Entity", "a"),
+             ("Text", " "),
+             ("Text", "multiplied by {escaped"),
+             ("Text", "\\}"),
+             ("Text", " "),
+             ("Text", " "),
+             ("Name.Entity", "b"),
+             ("Text", " "),
+             ("Text", "is "),
+             ("Text", "\\"),
+             ("Text", " not"),
+             ("Text", " "),
+             ("Number.Integer", "0"),
+             ("Text", "  "),
+             ("Text", "mod"),
+             ("Text", " "),
+             ("Name.Entity", "p"),
+             ("Text.Whitespace", "\n"),
+             ],
+            pygments.lex(
+                r"""a \TEXT{multiplied by {escaped\} } b \text{is \ not} 0"""
+                r"  \text{mod} p""",
+                self.lexer))
+
 
 class PygmentizeCompletely(unittest.TestCase):