Changeset 43

Show
Ignore:
Timestamp:
05/03/05 17:37:03 (3 years ago)
Author:
steve
Message:

Integrated patch #4 from Andreas Klöckner

Files:

Legend:

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

    r42 r43  
    372372        value = self.part.calculate(namespace, loader, global_namespace) 
    373373        if self.subexpression: 
    374             value = self.subexpression.calculate(value, loader, namespace) 
     374            value = self.subexpression.calculate(value, loader, global_namespace) 
    375375        return value 
    376376 
  • trunk/airspeed_test.py

    r42 r43  
    429429        template = airspeed.Template('#foreach($value in $values)foo#end') 
    430430        self.assertRaises(ValueError, template.merge, {'values': 1}) 
     431 
     432    def test_correct_scope_for_parameters_of_method_calls(self): 
     433        template = airspeed.Template('$obj.get_self().method($param)') 
     434        class C: 
     435            def get_self(self): 
     436                return self 
     437            def method(self, p): 
     438                if p == 'bat': return 'monkey' 
     439        value = template.merge({'obj': C(), 'param':'bat'}) 
     440        self.assertEquals('monkey', value) 
    431441 
    432442#