Mercurial > genshi > genshi-test
changeset 396:22a581cfa537
add visitor for xor operator
author | mgood |
---|---|
date | Sat, 30 Dec 2006 20:12:48 +0000 |
parents | ebc7c1a3bc4d |
children | d6e9170c5ccc |
files | genshi/template/eval.py genshi/template/tests/eval.py |
diffstat | 2 files changed, 6 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/genshi/template/eval.py +++ b/genshi/template/eval.py @@ -289,7 +289,8 @@ def _visitBoolOp(self, node): node.nodes = [self.visit(x) for x in node.nodes] return node - visitAnd = visitOr = visitBitand = visitBitor = visitAssTuple = _visitBoolOp + visitAnd = visitOr = visitBitand = visitBitor = visitBitxor = _visitBoolOp + visitAssTuple = _visitBoolOp def _visitBinOp(self, node): node.left = self.visit(node.left)
--- a/genshi/template/tests/eval.py +++ b/genshi/template/tests/eval.py @@ -133,6 +133,10 @@ self.assertEqual(1, Expression("1 | 0").evaluate({})) self.assertEqual(1, Expression("x | y").evaluate({'x': 1, 'y': 0})) + def test_binop_xor(self): + self.assertEqual(1, Expression("1 ^ 0").evaluate({})) + self.assertEqual(1, Expression("x ^ y").evaluate({'x': 1, 'y': 0})) + def test_binop_contains(self): self.assertEqual(True, Expression("1 in (1, 2, 3)").evaluate({})) self.assertEqual(True, Expression("x in y").evaluate({'x': 1,