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

Reply via email to