Mercurial > genshi > mirror
changeset 396:7016f404b915 trunk
add visitor for xor operator
author | mgood |
---|---|
date | Sat, 30 Dec 2006 20:12:48 +0000 |
parents | cab6b0256019 |
children | 31742fe6d47e |
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,