Mercurial > hgrepos > Python > libs > pygments-lexer-pseudocode2
diff tests/_testhelper.py @ 18:859ab8abce0a
The first real tests about lexing with the Pygments API for the tests.
Also implemented a simple helper to compare token streams with shorter code.
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Mon, 20 Apr 2026 14:12:35 +0200 |
| parents | |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/_testhelper.py Mon Apr 20 14:12:35 2026 +0200 @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- +# :- +# SPDX-FileCopyrightText: © 2026 Franz Glasner +# SPDX-License-Identifier: MIT +# :- +"""Test helper""" + +__all__ = ["TokenAssertHelper"] + + +from pygments.token import Token, is_token_subtype, string_to_tokentype + + +class TokenAssertHelper(object): + """Mixin to test for token stream equality""" + + def assertTokenEqual(self, tok_or_str, txt, token): + if is_token_subtype(tok_or_str, Token): + t = tok_or_str + else: + t = string_to_tokentype(tok_or_str) + self.assertEqual((t, txt), token) + + def assertNextTokenEqual(self, tok_or_str, txt, tokens): + self.assertTokenEqual(tok_or_str, txt, next(tokens)) + + def assertTokenStreamEqual(self, expected_tokens, given_tokens): + for tok, txt in expected_tokens: + self.assertNextTokenEqual(tok, txt, given_tokens) + + def assertTokenStreamEqualComplete(self, expected_tokens, given_tokens): + self.assertTokenStreamEqual(expected_tokens, given_tokens) + self.assertRaises(StopIteration, next, given_tokens)
