Changeset 17 for trunk/airspeed_test.py

Show
Ignore:
Timestamp:
17/08/04 20:21:00 (8 years ago)
Author:
steve
Message:

refactoring for brevity; parameterised function calls implemented

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/airspeed_test.py

    r16 r17  
    160160        self.assertEquals(" false ", template.merge({})) 
    161161 
     162    def test_too_many_end_clauses_trigger_error(self): 
     163        template = airspeed.Template('#if (1)true!#end #end ') 
     164        self.assertRaises(airspeed.TemplateSyntaxError, template.merge, {}) 
     165 
     166    def test_can_call_function_with_one_parameter(self): 
     167        def squared(number): 
     168            return number * number 
     169        template = airspeed.Template('$squared(8)') 
     170        self.assertEquals("64", template.merge(locals())) 
     171        some_var = 6 
     172        template = airspeed.Template('$squared($some_var)') 
     173        self.assertEquals("36", template.merge(locals())) 
     174        template = airspeed.Template('$squared($squared($some_var))') 
     175        self.assertEquals("1296", template.merge(locals())) 
     176 
     177    def test_can_call_function_with_one_parameter(self): 
     178        def multiply(number1, number2): 
     179            return number1 * number2 
     180        template = airspeed.Template('$multiply(2, 4)') 
     181        self.assertEquals("8", template.merge(locals())) 
     182        template = airspeed.Template('$multiply( 2 , 4 )') 
     183        self.assertEquals("8", template.merge(locals())) 
     184        value1, value2 = 4, 12 
     185        template = airspeed.Template('$multiply($value1,$value2)') 
     186        self.assertEquals("48", template.merge(locals())) 
    162187 
    163188# 
     
    166191#  Escaped characters in string literals 
    167192#  Directives inside string literals 
    168 #  #else, #elseif 
     193#  #elseif 
    169194#  Parameterised calls 
    170195#  #parse, #include