Changeset 9
- Timestamp:
- 12/08/04 12:38:48 (4 years ago)
- Files:
-
- trunk/airspeed.py (modified) (1 diff)
- trunk/airspeed_test.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/airspeed.py
r8 r9 160 160 def evaluate(self, output_stream, namespace): 161 161 values = self.eval_expression(self.expression, namespace) 162 counter = 1 162 163 for value in values: 163 164 local_namespace = BlockEvaluator.LocalNamespace(namespace) 164 165 local_namespace[self.iter_var] = value 166 local_namespace['velocityCount'] = counter 165 167 BlockEvaluator.evaluate(self, output_stream, local_namespace) 168 counter += 1 166 169 167 170 trunk/airspeed_test.py
r8 r9 103 103 self.assertEquals("Hello to Chris Steve. Goodbye to Chris Steve. ", template.merge(namespace)) 104 104 105 def test_loop_counter_variable_available_in_loops(self): 106 template = airspeed.Template("#foreach ($word in $greetings)$velocityCount,#end") 107 namespace = {"greetings": ["Hello", "Goodbye"]} 108 self.assertEquals("1,2,", template.merge(namespace)) 109 110 def test_loop_counter_variables_do_not_clash_in_nested_loops(self): 111 template = airspeed.Template("#foreach ($word in $greetings)outer $velocityCount#foreach ($word in $names), inner $velocityCount#end. #end") 112 namespace = {"greetings": ["Hello", "Goodbye"], "names": ["Chris", "Steve"]} 113 self.assertEquals("outer 1, inner 1, inner 2. outer 2, inner 1, inner 2. ", template.merge(namespace)) 105 114 106 115
