comparison tests/test_fr.py @ 19:2e67c4eae6d9

Use an alternate replace algorithm with a dict
author Franz Glasner <fzglas.hg@dom66.de>
date Mon, 20 Apr 2026 15:25:45 +0200
parents 859ab8abce0a
children 3db60b64abf6
comparison
equal deleted inserted replaced
18:859ab8abce0a 19:2e67c4eae6d9
32 self.assertEqual((Token.Name.Variable, "huhu"), next(tokens)) 32 self.assertEqual((Token.Name.Variable, "huhu"), next(tokens))
33 self.assertEqual((Token.Text, "\n"), next(tokens)) 33 self.assertEqual((Token.Text, "\n"), next(tokens))
34 self.assertRaises(StopIteration, next, tokens) 34 self.assertRaises(StopIteration, next, tokens)
35 35
36 def test_op_replace(self): 36 def test_op_replace(self):
37 tokens = pygments.lex("<= >= <> <- ^", self.lexer) 37 tokens = pygments.lex("<= >= <> <- ^ < = >", self.lexer)
38 self.assertEqual((Token.Operator, "≤"), next(tokens)) 38 self.assertEqual((Token.Operator, "≤"), next(tokens))
39 self.assertEqual((Token.Text, " "), next(tokens)) 39 self.assertEqual((Token.Text, " "), next(tokens))
40 self.assertEqual((Token.Operator, "≥"), next(tokens)) 40 self.assertEqual((Token.Operator, "≥"), next(tokens))
41 self.assertEqual((Token.Text, " "), next(tokens)) 41 self.assertEqual((Token.Text, " "), next(tokens))
42 self.assertEqual((Token.Operator, "≠"), next(tokens)) 42 self.assertEqual((Token.Operator, "≠"), next(tokens))
43 self.assertEqual((Token.Text, " "), next(tokens)) 43 self.assertEqual((Token.Text, " "), next(tokens))
44 self.assertEqual((Token.Operator, "←"), next(tokens)) 44 self.assertEqual((Token.Operator, "←"), next(tokens))
45 self.assertEqual((Token.Text, " "), next(tokens)) 45 self.assertEqual((Token.Text, " "), next(tokens))
46 self.assertEqual((Token.Operator, "↑"), next(tokens)) 46 self.assertEqual((Token.Operator, "↑"), next(tokens))
47 self.assertEqual((Token.Text, " "), next(tokens))
48 self.assertEqual((Token.Operator, "<"), next(tokens))
49 self.assertEqual((Token.Text, " "), next(tokens))
50 self.assertEqual((Token.Operator, "="), next(tokens))
51 self.assertEqual((Token.Text, " "), next(tokens))
52 self.assertEqual((Token.Operator, ">"), next(tokens))
47 self.assertEqual((Token.Text, "\n"), next(tokens)) 53 self.assertEqual((Token.Text, "\n"), next(tokens))
48 self.assertRaises(StopIteration, next, tokens) 54 self.assertRaises(StopIteration, next, tokens)
49 55
50 def test_op_replace_list(self): 56 def test_op_replace_list(self):
51 tokens = pygments.lex("<= >= <> <- ^", self.lexer) 57 tokens = pygments.lex("<= >= <> <- ^ < = >", self.lexer)
52 self.assertTokenStreamEqual( 58 self.assertTokenStreamEqual(
53 [("Token.Operator", "≤"), 59 [("Token.Operator", "≤"),
54 ("Token.Text", " "), 60 ("Token.Text", " "),
55 ("Token.Operator", "≥"), 61 ("Token.Operator", "≥"),
56 ("Token.Text", " "), 62 ("Token.Text", " "),
57 ("Token.Operator", "≠"), 63 ("Token.Operator", "≠"),
58 ("Token.Text", " "), 64 ("Token.Text", " "),
59 ("Token.Operator", "←"), 65 ("Token.Operator", "←"),
60 ("Token.Text", " "), 66 ("Token.Text", " "),
61 ("Token.Operator", "↑"), 67 ("Token.Operator", "↑"),
68 ("Token.Text", " "),
69 ("Token.Operator", "<"),
70 ("Token.Text", " "),
71 ("Token.Operator", "="),
72 ("Token.Text", " "),
73 ("Token.Operator", ">"),
62 ("Token.Text", "\n"), 74 ("Token.Text", "\n"),
63 ], 75 ],
64 tokens) 76 tokens)
65 self.assertRaises(StopIteration, next, tokens) 77 self.assertRaises(StopIteration, next, tokens)
66 78
67 def test_op_replace_list_with_short_names(self): 79 def test_op_replace_list_with_short_names(self):
68 tokens = pygments.lex("<= >= <> <- ^", self.lexer) 80 tokens = pygments.lex("<= >= <> <- ^ < = > ", self.lexer)
69 self.assertTokenStreamEqual( 81 self.assertTokenStreamEqual(
70 [("Operator", "≤"), 82 [("Operator", "≤"),
71 ("Text", " "), 83 ("Text", " "),
72 ("Operator", "≥"), 84 ("Operator", "≥"),
73 ("Text", " "), 85 ("Text", " "),
74 ("Operator", "≠"), 86 ("Operator", "≠"),
75 ("Text", " "), 87 ("Text", " "),
76 ("Operator", "←"), 88 ("Operator", "←"),
77 ("Text", " "), 89 ("Text", " "),
78 ("Operator", "↑"), 90 ("Operator", "↑"),
79 ("Text", "\n"), 91 ("Text", " "),
92 ("Operator", "<"),
93 ("Text", " "),
94 ("Operator", "="),
95 ("Text", " "),
96 ("Operator", ">"),
97 ("Text", " \n"),
80 ], 98 ],
81 tokens) 99 tokens)
82 self.assertRaises(StopIteration, next, tokens) 100 self.assertRaises(StopIteration, next, tokens)
83 101
84 def test_op_replace_complete(self): 102 def test_op_replace_complete(self):
85 tokens = pygments.lex("<= >= <> <- ^", self.lexer) 103 tokens = pygments.lex("<= >= <> <- ^ > = < ", self.lexer)
86 self.assertTokenStreamEqualComplete( 104 self.assertTokenStreamEqualComplete(
87 [("Operator", "≤"), 105 [("Operator", "≤"),
88 ("Text", " "), 106 ("Text", " "),
89 ("Operator", "≥"), 107 ("Operator", "≥"),
90 ("Text", " "), 108 ("Text", " "),
91 ("Operator", "≠"), 109 ("Operator", "≠"),
92 ("Text", " "), 110 ("Text", " "),
93 ("Operator", "←"), 111 ("Operator", "←"),
94 ("Text", " "), 112 ("Text", " "),
95 ("Operator", "↑"), 113 ("Operator", "↑"),
96 ("Text", "\n"), 114 ("Text", " "),
115 ("Operator", ">"),
116 ("Text", " "),
117 ("Operator", "="),
118 ("Text", " "),
119 ("Operator", "<"),
120 ("Text", " \n"),
97 ], 121 ],
98 tokens) 122 tokens)
99 123
100 124
101 if __name__ == "__main__": 125 if __name__ == "__main__":