Changeset 29 for trunk/airspeed_test.py

Show
Ignore:
Timestamp:
23/08/04 12:57:25 (8 years ago)
Author:
steve
Message:

range literals, and prevent resolution of properties in LocalNamespace? instances

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/airspeed_test.py

    • Property svn:executable set to *
    r28 r29  
    371371        self.assertEquals('Message is: hola!', template.merge({'foo': 'foo.tmpl', 'message': 'hola'}, loader=WorkingLoader())) 
    372372 
     373    def test_assign_range_literal(self): 
     374        template = airspeed.Template('#set($values = [1..5])#foreach($value in $values)$value,#end') 
     375        self.assertEquals('1,2,3,4,5,', template.merge({})) 
     376        template = airspeed.Template('#set($values = [2..-2])#foreach($value in $values)$value,#end') 
     377        self.assertEquals('2,1,0,-1,-2,', template.merge({})) 
     378 
     379    def test_local_namespace_methods_not_available(self): 
     380        template = airspeed.Template('#macro(tryme)$values#end#tryme()') 
     381        self.assertEquals('$values', template.merge({})) 
     382 
    373383# 
    374384# TODO: 
     
    379389#  list literals 
    380390#  Bind #macro calls at compile time? 
     391#  #stop ? 
    381392#  Interpolated strings 
    382393#  Directives inside string literals 
     
    385396#  Q. What is scope of #set ($customer.Name = 'john')  ??? 
    386397#  Scope of #set across if/elseif/else? 
    387 #  Scope of namespace for #include etc 
     398#  Scope of namespace for #parse etc 
    388399# 
    389400