diff tests/test_algpseudo.py @ 113:9aea2fd5f037

The \GETS command. Its output is customizable with the lexer's "gets" option. It defaults to `←'.
author Franz Glasner <fzglas.hg@dom66.de>
date Tue, 05 May 2026 20:51:20 +0200
parents ec8767cc5493
children be50fe0687d6
line wrap: on
line diff
--- a/tests/test_algpseudo.py	Tue May 05 17:38:49 2026 +0200
+++ b/tests/test_algpseudo.py	Tue May 05 20:51:20 2026 +0200
@@ -875,6 +875,30 @@
              ],
             pygments.lex(r'\TEXT{flow \expr{f\"}}', self.lexer))
 
+    def test_gets_default(self):
+        self.assertTokenStreamEqualComplete(
+            [("Name.Entity", "a"),
+             ("Text", " "),
+             ("Operator", "←"),
+             ("Text", " "),
+             ("Number.Integer", "2"),
+             ("Text.Whitespace", "\n"),
+             ],
+            pygments.lex(r"a \gets 2", self.lexer))
+
+    def test_gets_custom(self):
+        lexer = pygments.lexers.load_lexer_from_file(
+            ALGLEXERFILENAME, ALGLEXERCLASS, gets="::=")
+        self.assertTokenStreamEqualComplete(
+            [("Name.Entity", "a"),
+             ("Text", " "),
+             ("Operator", "::="),
+             ("Text", " "),
+             ("Number.Float", "2.7"),
+             ("Text.Whitespace", "\n"),
+             ],
+            pygments.lex(r"a \gets 2.7", lexer))
+
 
 class PygmentizeCompletely(unittest.TestCase):