Author: Stephan <[email protected]>
Branch:
Changeset: r112:c31c3f4a144a
Date: 2011-07-20 17:46 +0200
http://bitbucket.org/pypy/lang-js/changeset/c31c3f4a144a/
Log: added tests for execution context assign method
diff --git a/js/jsexecution_context.py b/js/jsexecution_context.py
--- a/js/jsexecution_context.py
+++ b/js/jsexecution_context.py
@@ -19,7 +19,7 @@
def assign(self, name, value):
assert name is not None
try:
- p = self._identifier_get(identifier)
+ p = self._identifier_get(name)
assert isinstance(p, Property)
if p.flags & RO:
return
diff --git a/js/test/test_execution_context.py
b/js/test/test_execution_context.py
--- a/js/test/test_execution_context.py
+++ b/js/test/test_execution_context.py
@@ -122,3 +122,21 @@
parent._identifier_set_local('foo', p_foo)
context._identifier_set_local('bar', p_bar)
+ context.assign('foo', 4)
+ context.assign('bar', 8)
+
+ assert p_foo.value == 4
+ assert p_bar.value == 8
+
+ def test_assign_local_precedence(self):
+ parent = ExecutionContext()
+ context = ExecutionContext(parent)
+ p_foo_0 = Property('foo', 0)
+ p_foo_1 = Property('foo', 1)
+ parent._identifier_set_local('foo', p_foo_0)
+ context._identifier_set_local('foo', p_foo_1)
+
+ context.assign('foo', 42)
+
+ assert p_foo_0.value == 0
+ assert p_foo_1.value == 42
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit