Changeset 7

Show
Ignore:
Timestamp:
12/08/04 11:53:28 (4 years ago)
Author:
steve
Message:

handle closing of nested blocks

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/airspeed.py

    r6 r7  
    103103    def delegate_token(self, token_type, token_value): 
    104104        if self.delegate: 
    105             if self.delegate.feed(token_type, token_value): 
    106                 return Tru
    107             else: self.delegate = Non
     105            if not self.delegate.feed(token_type, token_value): 
     106                self.delegate = Non
     107            return Tru
    108108        return False 
    109109 
  • trunk/airspeed_test.py

    r6 r7  
    136136        self.assertEquals("Hello Chris. Hello Steve. ", parser.merge(template)) 
    137137 
     138    def test_loop_variable_not_accessible_after_loop(self): 
     139        parser = airspeed.Parser() 
     140        template = airspeed.Template("#foreach ($name in $names)Hello $name. #end$name") 
     141        parser["names"] = ["Chris", "Steve"] 
     142        self.assertEquals("Hello Chris. Hello Steve. $name", parser.merge(template)) 
     143 
     144    def test_loop_variables_do_not_clash_in_nested_loops(self): 
     145        parser = airspeed.Parser() 
     146        template = airspeed.Template("#foreach ($word in $greetings)$word to#foreach ($word in $names) $word#end. #end") 
     147        parser["greetings"] = ["Hello", "Goodbye"] 
     148        parser["names"] = ["Chris", "Steve"] 
     149        self.assertEquals("Hello to Chris Steve. Goodbye to Chris Steve. ", parser.merge(template)) 
     150 
    138151 
    139152