Mercurial > hgrepos > Python > libs > pygments-lexer-pseudocode2
comparison tests/test_pseudo.py @ 34:1f741934205e
Begin a new Pseudocode lexer using numbers and strings from Python
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Tue, 21 Apr 2026 19:40:08 +0200 |
| parents | |
| children | d9a3551a1038 |
comparison
equal
deleted
inserted
replaced
| 33:db1bc740a201 | 34:1f741934205e |
|---|---|
| 1 # -*- coding: utf-8 -*- | |
| 2 # :- | |
| 3 # SPDX-FileCopyrightText: © 2026 Franz Glasner | |
| 4 # SPDX-License-Identifier: MIT | |
| 5 # :- | |
| 6 | |
| 7 from _tsetup import LEXERFILENAME, LEXERCLASS | |
| 8 | |
| 9 import unittest | |
| 10 | |
| 11 import pygments | |
| 12 import pygments.lexers | |
| 13 | |
| 14 import _testhelper | |
| 15 | |
| 16 | |
| 17 class TestSnippets(unittest.TestCase, _testhelper.TokenAssertHelper): | |
| 18 | |
| 19 def setUp(self): | |
| 20 self.lexer = pygments.lexers.load_lexer_from_file( | |
| 21 LEXERFILENAME, LEXERCLASS) | |
| 22 | |
| 23 def test_lf(self): | |
| 24 self.assertTokenStreamEqualComplete( | |
| 25 [("Text.Whitespace", "\n")], | |
| 26 pygments.lex("\n", self.lexer)) | |
| 27 | |
| 28 def test_protected_lf(self): | |
| 29 self.assertTokenStreamEqualComplete( | |
| 30 [("Text", "\\\n")], | |
| 31 pygments.lex("\\\n", self.lexer)) | |
| 32 | |
| 33 def test_number_int(self): | |
| 34 self.assertTokenStreamEqualComplete( | |
| 35 [("Number.Integer", "10"), | |
| 36 ("Text.Whitespace", "\n"), | |
| 37 ], | |
| 38 pygments.lex("10", self.lexer)) | |
| 39 | |
| 40 def test_number_float_1(self): | |
| 41 self.assertTokenStreamEqualComplete( | |
| 42 [("Number.Float", "3.1415926"), | |
| 43 ("Text.Whitespace", "\n"), | |
| 44 ], | |
| 45 pygments.lex("3.1415926", self.lexer)) | |
| 46 | |
| 47 def test_number_float_2(self): | |
| 48 self.assertTokenStreamEqualComplete( | |
| 49 [("Number.Float", "3.14e-12"), | |
| 50 ("Text.Whitespace", "\n"), | |
| 51 ], | |
| 52 pygments.lex("3.14e-12", self.lexer)) | |
| 53 | |
| 54 def test_string_s_1(self): | |
| 55 self.assertTokenStreamEqualComplete( | |
| 56 [("String.Single", "'"), | |
| 57 ("String.Single", "HU"), | |
| 58 ("String.Single", '"'), | |
| 59 ("String.Single", "HE HA"), | |
| 60 ("String.Escape", "\\'"), | |
| 61 ("String.Single", "HO"), | |
| 62 ("String.Single", "'"), | |
| 63 ("Text.Whitespace", "\n"), | |
| 64 ], | |
| 65 pygments.lex("""'HU"HE HA\\'HO'""", self.lexer)) | |
| 66 | |
| 67 def test_string_s_2(self): | |
| 68 self.assertTokenStreamEqual( | |
| 69 [("String.Single", "'"), | |
| 70 ("String.Single", "HUHU"), | |
| 71 ("Text.Whitespace", "\n"), | |
| 72 ("Error", "H"), | |
| 73 ], | |
| 74 pygments.lex("'HUHU\nHEHE'", self.lexer)) | |
| 75 | |
| 76 def test_string_ts_1(self): | |
| 77 self.assertTokenStreamEqualComplete( | |
| 78 [("String.Single", "'''"), | |
| 79 ("String.Single", "HUHU HEHE"), | |
| 80 ("String.Single", "'''"), | |
| 81 ("Text.Whitespace", "\n"), | |
| 82 ], | |
| 83 pygments.lex("'''HUHU HEHE'''", self.lexer)) | |
| 84 | |
| 85 def test_string_ts_2(self): | |
| 86 self.assertTokenStreamEqualComplete( | |
| 87 [("String.Single", "'''"), | |
| 88 ("String.Single", "HI"), | |
| 89 ("String.Single", "'"), | |
| 90 ("String.Single", "HU"), | |
| 91 ("String.Single", "\n"), | |
| 92 ("String.Single", "HE"), | |
| 93 ("String.Single", '"'), | |
| 94 ("String.Single", "HA"), | |
| 95 ("String.Single", "'''"), | |
| 96 ("Text.Whitespace", "\n"), | |
| 97 ], | |
| 98 pygments.lex("""'''HI'HU\nHE"HA'''""", self.lexer)) | |
| 99 | |
| 100 def test_string_d_1(self): | |
| 101 self.assertTokenStreamEqualComplete( | |
| 102 [("String.Double", '"'), | |
| 103 ("String.Double", 'HU'), | |
| 104 ("String.Double", "'"), | |
| 105 ("String.Double", 'HE HA'), | |
| 106 ("String.Escape", '\\"'), | |
| 107 ("String.Double", 'HO'), | |
| 108 ("String.Double", '"'), | |
| 109 ("Text.Whitespace", "\n"), | |
| 110 ], | |
| 111 pygments.lex('''"HU'HE HA\\"HO"''', self.lexer)) | |
| 112 | |
| 113 def test_string_d_2(self): | |
| 114 self.assertTokenStreamEqual( | |
| 115 [("String.Double", '"'), | |
| 116 ("String.Double", "HUHU"), | |
| 117 ("Text.Whitespace", "\n"), | |
| 118 ("Error", "H"), | |
| 119 ], | |
| 120 pygments.lex('"HUHU\nHEHE"', self.lexer)) | |
| 121 | |
| 122 def test_string_td_1(self): | |
| 123 self.assertTokenStreamEqualComplete( | |
| 124 [("String.Double", '"""'), | |
| 125 ("String.Double", 'HUHU HAHA'), | |
| 126 ("String.Double", '"""'), | |
| 127 ("Text.Whitespace", "\n"), | |
| 128 ], | |
| 129 pygments.lex('"""HUHU HAHA"""', self.lexer)) | |
| 130 | |
| 131 def test_string_td_2(self): | |
| 132 self.assertTokenStreamEqualComplete( | |
| 133 [("String.Double", '"""'), | |
| 134 ("String.Double", 'HU'), | |
| 135 ("String.Double", '"'), | |
| 136 ("String.Double", "HO"), | |
| 137 ("String.Double", "\n"), | |
| 138 ("String.Double", "HE"), | |
| 139 ("String.Double", "'"), | |
| 140 ("String.Double", "HA"), | |
| 141 ("String.Double", '"""'), | |
| 142 ("Text.Whitespace", "\n"), | |
| 143 ], | |
| 144 pygments.lex('''"""HU"HO\nHE'HA"""''', self.lexer)) | |
| 145 | |
| 146 | |
| 147 if __name__ == "__main__": | |
| 148 unittest.main() |
