diff tests/test_algpseudo.py @ 78:abb2e8c65d0f

Implement "TEXTSTATEMENT"
author Franz Glasner <fzglas.hg@dom66.de>
date Thu, 30 Apr 2026 09:28:39 +0200
parents 27e12387154d
children c14e5fd4d193
line wrap: on
line diff
--- a/tests/test_algpseudo.py	Thu Apr 30 09:24:46 2026 +0200
+++ b/tests/test_algpseudo.py	Thu Apr 30 09:28:39 2026 +0200
@@ -400,6 +400,43 @@
              ],
             pygments.lex(r"\state{a 1.2 {x in X\} c}", self.lexer))
 
+    def test_tstate_empty(self):
+        self.assertTokenStreamEqualComplete(
+            [("Text", "▪"),
+             ("Text.Whitespace", " "),
+             ("Text.Whitespace", "\n"),
+             ],
+            pygments.lex(r"\tstate{}", self.lexer))
+
+    def test_tstate_with_expr(self):
+        self.assertTokenStreamEqualComplete(
+            [("Text", "▪"),
+             ("Text.Whitespace", " "),
+             ("Text", "a 1.2 "),
+             ("Name.Entity", "x"),
+             ("Text", " "),
+             ("Operator.Word", "in"),
+             ("Text", " "),
+             ("Name.Entity", "X"),
+             ("Punctuation", "}"),
+             ("Text", " c"),
+             ("Text.Whitespace", "\n"),
+             ],
+            pygments.lex(r"\tstate{a 1.2 \expr{x in X\}} c}", self.lexer))
+
+    def test_tstate_with_escaped_expr(self):
+        self.assertTokenStreamEqualComplete(
+            [("Text", "▪"),
+             ("Text.Whitespace", " "),
+             ("Text", "a 1.2 "),
+             ("Text", "\\"),
+             ("Text", "expr{x in X"),
+             ("Text", "}"),
+             ("Text", " c"),
+             ("Text.Whitespace", "\n"),
+             ],
+            pygments.lex(r"\tstate{a 1.2 \\expr{x in X\} c}", self.lexer))
+
 
 class PygmentizeCompletely(unittest.TestCase):