Mercurial > hgrepos > Python > libs > pygments-lexer-pseudocode2
comparison tests/test_algpseudo.py @ 62:7153e945a3d6
Implement ignoring of \ENDxxx including its optional name parts
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Tue, 28 Apr 2026 10:09:17 +0200 |
| parents | e8f4af9e20a8 |
| children | 05c53e431c88 |
comparison
equal
deleted
inserted
replaced
| 61:392745b66969 | 62:7153e945a3d6 |
|---|---|
| 143 | 143 |
| 144 def test_proc(self): | 144 def test_proc(self): |
| 145 self.assertTokenStreamEqualComplete( | 145 self.assertTokenStreamEqualComplete( |
| 146 [("Keyword", "PROCEDURE"), | 146 [("Keyword", "PROCEDURE"), |
| 147 ("Text.Whitespace", " "), | 147 ("Text.Whitespace", " "), |
| 148 ("Name.Entity", "{"), | |
| 149 ("Name.Entity", "the name"), | 148 ("Name.Entity", "the name"), |
| 150 ("Name.Entity", "}"), | |
| 151 ("Text.Whitespace", "\n"), | 149 ("Text.Whitespace", "\n"), |
| 152 ], | 150 ], |
| 153 pygments.lex("\\PROC {the name}", self.lexer)) | 151 pygments.lex("\\PROC {the name}", self.lexer)) |
| 154 | 152 |
| 155 def test_endproc(self): | 153 def test_endproc(self): |
| 161 | 159 |
| 162 def test_endproc_with_entityname(self): | 160 def test_endproc_with_entityname(self): |
| 163 self.assertTokenStreamEqualComplete( | 161 self.assertTokenStreamEqualComplete( |
| 164 [("Keyword", "END OF PROCEDURE"), | 162 [("Keyword", "END OF PROCEDURE"), |
| 165 ("Text.Whitespace", " "), | 163 ("Text.Whitespace", " "), |
| 166 ("Name.Entity", "{"), | |
| 167 ("Name.Entity", "the procedure name"), | 164 ("Name.Entity", "the procedure name"), |
| 168 ("Name.Entity", "}"), | |
| 169 ("Text.Whitespace", "\n"), | 165 ("Text.Whitespace", "\n"), |
| 170 ], | 166 ], |
| 171 pygments.lex("\\ENDPROCEDURE {the procedure name}", self.lexer)) | 167 pygments.lex("\\ENDPROCEDURE {the procedure name}", self.lexer)) |
| 172 | 168 |
| 173 def test_proc_de(self): | 169 def test_proc_de(self): |
| 174 lexer = pygments.lexers.load_lexer_from_file( | 170 lexer = pygments.lexers.load_lexer_from_file( |
| 175 ALGLEXERFILENAME, "AlgPseudocodeLexer_DE") | 171 ALGLEXERFILENAME, "AlgPseudocodeLexer_DE") |
| 176 self.assertTokenStreamEqualComplete( | 172 self.assertTokenStreamEqualComplete( |
| 177 [("Keyword", "PROZEDUR"), | 173 [("Keyword", "PROZEDUR"), |
| 178 ("Text.Whitespace", " "), | 174 ("Text.Whitespace", " "), |
| 179 ("Name.Entity", "{"), | |
| 180 ("Name.Entity", " also {nichtxs"), | 175 ("Name.Entity", " also {nichtxs"), |
| 181 ("Name.Entity", "\\}"), | 176 ("Name.Entity", "\\}"), |
| 182 ("Name.Entity", " hier"), | 177 ("Name.Entity", " hier"), |
| 183 ("Name.Entity", "}"), | |
| 184 ("Text.Whitespace", "\n"), | 178 ("Text.Whitespace", "\n"), |
| 185 ], | 179 ], |
| 186 pygments.lex("\\PROC { also {nichtxs\\} hier}", lexer)) | 180 pygments.lex("\\PROC { also {nichtxs\\} hier}", lexer)) |
| 187 | 181 |
| 188 def test_function_1(self): | 182 def test_function_1(self): |
| 189 self.assertTokenStreamEqualComplete( | 183 self.assertTokenStreamEqualComplete( |
| 190 [("Keyword", "FUNCTION"), | 184 [("Keyword", "FUNCTION"), |
| 191 ("Name.Entity", "{"), | |
| 192 ("Name.Entity", "1"), | 185 ("Name.Entity", "1"), |
| 193 ("Name.Entity", "}"), | |
| 194 ("Text.Whitespace", "\n"), | 186 ("Text.Whitespace", "\n"), |
| 195 ], | 187 ], |
| 196 pygments.lex("\\FUNC{1}", self.lexer)) | 188 pygments.lex("\\FUNC{1}", self.lexer)) |
| 197 | 189 |
| 198 def test_function_2(self): | 190 def test_function_2(self): |
| 199 self.assertTokenStreamEqualComplete( | 191 self.assertTokenStreamEqualComplete( |
| 200 [("Keyword", "FUNCTION"), | 192 [("Keyword", "FUNCTION"), |
| 201 ("Name.Entity", "{"), | |
| 202 ("Name.Entity", "line 1\nline 2\n"), | 193 ("Name.Entity", "line 1\nline 2\n"), |
| 203 ("Name.Entity", "}"), | |
| 204 ("Text.Whitespace", "\n"), | 194 ("Text.Whitespace", "\n"), |
| 205 ], | 195 ], |
| 206 pygments.lex("\\FUNCTION{line 1\nline 2\n}", self.lexer)) | 196 pygments.lex("\\FUNCTION{line 1\nline 2\n}", self.lexer)) |
| 207 | 197 |
| 208 def test_function_3(self): | 198 def test_function_3(self): |
| 209 self.assertTokenStreamEqualComplete( | 199 self.assertTokenStreamEqualComplete( |
| 210 [("Keyword", "FUNCTION"), | 200 [("Keyword", "FUNCTION"), |
| 211 ("Text.Whitespace", " "), | 201 ("Text.Whitespace", " "), |
| 212 ("Name.Entity", "{"), | 202 ("Name.Entity", "\\"), |
| 213 ("Name.Entity", "\\"), | 203 ("Name.Entity", "n"), |
| 214 ("Name.Entity", "n"), | 204 ("Name.Entity", "\\}"), |
| 215 ("Name.Entity", "\\}"), | |
| 216 ("Name.Entity", "}"), | |
| 217 ("Text.Whitespace", "\n"), | 205 ("Text.Whitespace", "\n"), |
| 218 ], | 206 ], |
| 219 pygments.lex("\\FN {\\n\\}}", self.lexer)) | 207 pygments.lex("\\FN {\\n\\}}", self.lexer)) |
| 220 | 208 |
| 221 def test_class(self): | 209 def test_class(self): |
| 222 self.assertTokenStreamEqualComplete( | 210 self.assertTokenStreamEqualComplete( |
| 223 [("Keyword", "CLASS"), | 211 [("Keyword", "CLASS"), |
| 224 ("Text.Whitespace", " "), | 212 ("Text.Whitespace", " "), |
| 225 ("Name.Entity", "{"), | 213 ("Name.Entity", "\\"), |
| 226 ("Name.Entity", "\\"), | 214 ("Name.Entity", "n"), |
| 227 ("Name.Entity", "n"), | 215 ("Name.Entity", "\\}"), |
| 228 ("Name.Entity", "\\}"), | |
| 229 ("Name.Entity", "}"), | |
| 230 ("Text.Whitespace", "\n"), | 216 ("Text.Whitespace", "\n"), |
| 231 ], | 217 ], |
| 232 pygments.lex("\\CLASS {\\n\\}}", self.lexer)) | 218 pygments.lex("\\CLASS {\\n\\}}", self.lexer)) |
| 233 | 219 |
| 234 def test_class_fr(self): | 220 def test_class_fr(self): |
| 235 lexer = pygments.lexers.load_lexer_from_file( | 221 lexer = pygments.lexers.load_lexer_from_file( |
| 236 ALGLEXERFILENAME, "AlgPseudocodeLexer_FR") | 222 ALGLEXERFILENAME, "AlgPseudocodeLexer_FR") |
| 237 self.assertTokenStreamEqualComplete( | 223 self.assertTokenStreamEqualComplete( |
| 238 [("Keyword", "CLASSE"), | 224 [("Keyword", "CLASSE"), |
| 239 ("Text.Whitespace", " "), | 225 ("Text.Whitespace", " "), |
| 240 ("Name.Entity", "{"), | 226 ("Name.Entity", "\\"), |
| 241 ("Name.Entity", "\\"), | 227 ("Name.Entity", "n"), |
| 242 ("Name.Entity", "n"), | 228 ("Name.Entity", "\\}"), |
| 243 ("Name.Entity", "\\}"), | |
| 244 ("Name.Entity", "}"), | |
| 245 ("Text.Whitespace", "\n"), | 229 ("Text.Whitespace", "\n"), |
| 246 ], | 230 ], |
| 247 pygments.lex("\\CLASS {\\n\\}}", lexer)) | 231 pygments.lex("\\CLASS {\\n\\}}", lexer)) |
| 248 | 232 |
| 249 def test_class_de_with_noend_option(self): | 233 def test_class_de_with_noend_option(self): |
| 250 lexer = pygments.lexers.load_lexer_from_file( | 234 lexer = pygments.lexers.load_lexer_from_file( |
| 251 ALGLEXERFILENAME, "AlgPseudocodeLexer_DE", no_end="True") | 235 ALGLEXERFILENAME, "AlgPseudocodeLexer_DE", no_end="True") |
| 252 self.assertTokenStreamEqualComplete( | 236 self.assertTokenStreamEqualComplete( |
| 253 [("Keyword", "KLASSE"), | 237 [("Keyword", "KLASSE"), |
| 254 ("Text.Whitespace", " "), | 238 ("Text.Whitespace", " "), |
| 255 ("Name.Entity", "{"), | 239 ("Name.Entity", "\\"), |
| 256 ("Name.Entity", "\\"), | 240 ("Name.Entity", "n"), |
| 257 ("Name.Entity", "n"), | 241 ("Name.Entity", "\\}"), |
| 258 ("Name.Entity", "\\}"), | |
| 259 ("Name.Entity", "}"), | |
| 260 ("Text.Whitespace", "\n"), | 242 ("Text.Whitespace", "\n"), |
| 261 ("Text.Whitespace", "\n"), | 243 ("Text.Whitespace", "\n"), |
| 262 ], | 244 ], |
| 263 pygments.lex("\\CLASS {\\n\\}}\n\\ENDCLASS", lexer)) | 245 pygments.lex("\\CLASS {\\n\\}}\n\\ENDCLASS", lexer)) |
| 246 | |
| 247 def test_class_de_with_noend_option_and_name(self): | |
| 248 lexer = pygments.lexers.load_lexer_from_file( | |
| 249 ALGLEXERFILENAME, "AlgPseudocodeLexer_DE", no_end="True") | |
| 250 self.assertTokenStreamEqualComplete( | |
| 251 [("Keyword", "KLASSE"), | |
| 252 ("Text.Whitespace", " "), | |
| 253 ("Name.Entity", "\\"), | |
| 254 ("Name.Entity", "n"), | |
| 255 ("Name.Entity", "\\}"), | |
| 256 ("Text.Whitespace", "\n"), | |
| 257 ("Text.Whitespace", "\n"), | |
| 258 ], | |
| 259 pygments.lex("\\CLASS {\\n\\}}\n\\ENDCLASS {end class}", lexer)) | |
| 264 | 260 |
| 265 def test_remark_1(self): | 261 def test_remark_1(self): |
| 266 self.assertTokenStreamEqualComplete( | 262 self.assertTokenStreamEqualComplete( |
| 267 [("Comment.Single", "▷"), | 263 [("Comment.Single", "▷"), |
| 268 ("Comment.Single", " the remark"), | 264 ("Comment.Single", " the remark"), |
