comparison markup/tests/eval.py @ 81:cc034182061e

Template expressions are now compiled to Python bytecode.
author cmlenz
date Sat, 15 Jul 2006 11:29:25 +0000
parents 822089ae65ce
children c6f07b7cd3ea
comparison
equal deleted inserted replaced
80:d5db5e3aec58 81:cc034182061e
168 self.assertEqual(True, Expression("1 >= 1").evaluate({})) 168 self.assertEqual(True, Expression("1 >= 1").evaluate({}))
169 self.assertEqual(True, Expression("x >= y").evaluate({'x': 1, 'y': 1})) 169 self.assertEqual(True, Expression("x >= y").evaluate({'x': 1, 'y': 1}))
170 170
171 def test_compare_multi(self): 171 def test_compare_multi(self):
172 self.assertEqual(True, Expression("1 != 3 == 3").evaluate({})) 172 self.assertEqual(True, Expression("1 != 3 == 3").evaluate({}))
173 self.assertEqual(True, Expression("x != y == y").evaluate({'x': 3, 173 self.assertEqual(True, Expression("x != y == y").evaluate({'x': 1,
174 'y': 3})) 174 'y': 3}))
175
176 # FIXME: need support for local names in comprehensions
177 #def test_list_comprehension(self):
178 # expr = Expression("[n for n in numbers if n < 2]")
179 # self.assertEqual([0, 1], expr.evaluate({'numbers': range(5)}))
175 180
176 181
177 def suite(): 182 def suite():
178 suite = unittest.TestSuite() 183 suite = unittest.TestSuite()
179 suite.addTest(unittest.makeSuite(ExpressionTestCase, 'test')) 184 suite.addTest(unittest.makeSuite(ExpressionTestCase, 'test'))
Copyright (C) 2012-2017 Edgewall Software