Hello guys
Congratulations, Airspeed rocks ! I am still a Jython novice but getting in love really fast. I tried to run your nice tests in Jython and got this output:
........EE.............E...............................................................E...E
======================================================================
ERROR: test_can_return_value_from_a_method_of_a_context_object (__main__.TemplateTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\dev\tools\jython22a1\Lib\unittest.py", line 213, in __call__
testMethod()
File "airspeedtest.py", line 72, in test_can_return_value_from_a_method_of_a_context_object
print template.merge({"name": MyObj()})
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 52, in merge
self.merge_to(namespace, output, loader)
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 62, in merge_to
self.root_element.evaluate(fileobj, namespace, loader)
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 718, in evaluate
self.block.evaluate(stream, namespace, loader)
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 730, in evaluate
child.evaluate(stream, namespace, loader)
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 422, in evaluate
value = self.expression.calculate(namespace, loader)
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 392, in calculate
value = self.subexpression.calculate(value, loader, global_namespace)
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 376, in calculate
return self.expression.calculate(current_object, loader, global_namespace)
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 388, in calculate
if global_namespace == None:
TypeError: dict.__cmp__(x,y) requires y to be 'dict', not a 'none'
======================================================================
ERROR: test_can_return_value_from_an_attribute_of_a_context_object (__main__.TemplateTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\dev\tools\jython22a1\Lib\unittest.py", line 213, in __call__
testMethod()
File "airspeedtest.py", line 66, in test_can_return_value_from_an_attribute_of_a_context_object
self.assertEquals("Hello Chris", template.merge({"name": o}))
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 52, in merge
self.merge_to(namespace, output, loader)
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 62, in merge_to
self.root_element.evaluate(fileobj, namespace, loader)
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 718, in evaluate
self.block.evaluate(stream, namespace, loader)
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 730, in evaluate
child.evaluate(stream, namespace, loader)
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 422, in evaluate
value = self.expression.calculate(namespace, loader)
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 392, in calculate
value = self.subexpression.calculate(value, loader, global_namespace)
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 376, in calculate
return self.expression.calculate(current_object, loader, global_namespace)
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 388, in calculate
if global_namespace == None:
TypeError: dict.__cmp__(x,y) requires y to be 'dict', not a 'none'
======================================================================
ERROR: test_correct_scope_for_parameters_of_method_calls (__main__.TemplateTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\dev\tools\jython22a1\Lib\unittest.py", line 213, in __call__
testMethod()
File "airspeedtest.py", line 520, in test_correct_scope_for_parameters_of_method_calls
value = template.merge({'obj': C(), 'param':'bat'})
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 52, in merge
self.merge_to(namespace, output, loader)
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 62, in merge_to
self.root_element.evaluate(fileobj, namespace, loader)
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 718, in evaluate
self.block.evaluate(stream, namespace, loader)
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 730, in evaluate
child.evaluate(stream, namespace, loader)
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 422, in evaluate
value = self.expression.calculate(namespace, loader)
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 392, in calculate
value = self.subexpression.calculate(value, loader, global_namespace)
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 376, in calculate
return self.expression.calculate(current_object, loader, global_namespace)
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 388, in calculate
if global_namespace == None:
TypeError: dict.__cmp__(x,y) requires y to be 'dict', not a 'none'
======================================================================
ERROR: test_when_dictionary_does_not_contain_referenced_attribute_no_substitution_occurs (__main__.TemplateTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\dev\tools\jython22a1\Lib\unittest.py", line 213, in __call__
testMethod()
File "airspeedtest.py", line 481, in test_when_dictionary_does_not_contain_referenced_attribute_no_substitution_occurs
self.assertEquals(" $user.name ", template.merge({'user':self}))
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 52, in merge
self.merge_to(namespace, output, loader)
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 62, in merge_to
self.root_element.evaluate(fileobj, namespace, loader)
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 718, in evaluate
self.block.evaluate(stream, namespace, loader)
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 730, in evaluate
child.evaluate(stream, namespace, loader)
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 422, in evaluate
value = self.expression.calculate(namespace, loader)
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 392, in calculate
value = self.subexpression.calculate(value, loader, global_namespace)
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 376, in calculate
return self.expression.calculate(current_object, loader, global_namespace)
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 388, in calculate
if global_namespace == None:
TypeError: dict.__cmp__(x,y) requires y to be 'dict', not a 'none'
======================================================================
ERROR: test_when_non_dictionary_object_does_not_contain_referenced_attribute_no_substitution_occurs (__main__.TemplateTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\dev\tools\jython22a1\Lib\unittest.py", line 213, in __call__
testMethod()
File "airspeedtest.py", line 486, in test_when_non_dictionary_object_does_not_contain_referenced_attribute_no_substitution_occurs
self.assertEquals(" $user.name ", template.merge({'user':MyObject()}))
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 52, in merge
self.merge_to(namespace, output, loader)
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 62, in merge_to
self.root_element.evaluate(fileobj, namespace, loader)
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 718, in evaluate
self.block.evaluate(stream, namespace, loader)
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 730, in evaluate
child.evaluate(stream, namespace, loader)
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 422, in evaluate
value = self.expression.calculate(namespace, loader)
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 392, in calculate
value = self.subexpression.calculate(value, loader, global_namespace)
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 376, in calculate
return self.expression.calculate(current_object, loader, global_namespace)
File "C:\dev\workspaces\jython2\AirSpeed\airspeed.py", line 388, in calculate
if global_namespace == None:
TypeError: dict.__cmp__(x,y) requires y to be 'dict', not a 'none'
----------------------------------------------------------------------
Ran 92 tests in 1.082s
FAILED (errors=5)