Changeset 46
- Timestamp:
- 14/09/05 12:21:59 (7 years ago)
- Location:
- trunk
- Files:
-
- 2 modified
-
airspeed.py (modified) (2 diffs)
-
airspeed_test.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/airspeed.py
r45 r46 28 28 operator.__ne__ = lambda a, b: a != b 29 29 operator.__or__ = lambda a, b: a or b 30 operator.__and__ = lambda a, b: a and b 30 31 try: 31 32 basestring … … 438 439 439 440 class BinaryOperator(_Element): 440 BINARY_OP = re.compile(r'\s*(>=|<=|<|==|!=|>|\|\| )\s*(.*)$', re.S)441 BINARY_OP = re.compile(r'\s*(>=|<=|<|==|!=|>|\|\||&&)\s*(.*)$', re.S) 441 442 OPERATORS = {'>' : operator.__gt__, '>=': operator.__ge__, 442 443 '<' : operator.__lt__, '<=': operator.__le__, 443 444 '==': operator.__eq__, '!=': operator.__ne__, 444 '||': operator.__or__ }445 '||': operator.__or__, '&&': operator.__and__} 445 446 def parse(self): 446 447 op_string, = self.identity_match(self.BINARY_OP) -
trunk/airspeed_test.py
r45 r46 311 311 template = airspeed.Template('#if ( $value1 || $value2 )yes#end') 312 312 self.assertEquals('', template.merge({'value1': False, 'value2': False})) 313 #self.assertEquals('yes', template.merge({'value1': True, 'value2': False})) 314 #self.assertEquals('yes', template.merge({'value1': False, 'value2': True})) 313 self.assertEquals('yes', template.merge({'value1': True, 'value2': False})) 314 self.assertEquals('yes', template.merge({'value1': False, 'value2': True})) 315 316 def test_and_operator(self): 317 template = airspeed.Template('#if ( $value1 && $value2 )yes#end') 318 self.assertEquals('', template.merge({'value1': False, 'value2': False})) 319 self.assertEquals('', template.merge({'value1': True, 'value2': False})) 320 self.assertEquals('', template.merge({'value1': False, 'value2': True})) 321 self.assertEquals('yes', template.merge({'value1': True, 'value2': True})) 315 322 316 323 def test_cannot_define_macro_to_override_reserved_statements(self):
