summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/language/identifier-resolution/S10.2.2_A1_T7.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/test262/language/identifier-resolution/S10.2.2_A1_T7.js')
-rw-r--r--js/src/tests/test262/language/identifier-resolution/S10.2.2_A1_T7.js33
1 files changed, 33 insertions, 0 deletions
diff --git a/js/src/tests/test262/language/identifier-resolution/S10.2.2_A1_T7.js b/js/src/tests/test262/language/identifier-resolution/S10.2.2_A1_T7.js
new file mode 100644
index 0000000000..43048150c5
--- /dev/null
+++ b/js/src/tests/test262/language/identifier-resolution/S10.2.2_A1_T7.js
@@ -0,0 +1,33 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+info: |
+ Every execution context has associated with it a scope chain.
+ A scope chain is a list of objects that are searched when evaluating an
+ Identifier
+es5id: 10.2.2_A1_T7
+description: Checking scope chain containing function declarations and "with"
+flags: [noStrict]
+---*/
+
+var x = 0;
+
+var myObj = {x : "obj"};
+
+function f1(){
+ function f2(){
+ with(myObj){
+ return x;
+ }
+ };
+ return f2();
+
+ var x = 1;
+}
+
+if(!(f1() === "obj")){
+ throw new Test262Error("#1: Scope chain disturbed");
+}
+
+reportCompare(0, 0);