summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/basic/testBug753158.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/basic/testBug753158.js')
-rw-r--r--js/src/jit-test/tests/basic/testBug753158.js67
1 files changed, 67 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/basic/testBug753158.js b/js/src/jit-test/tests/basic/testBug753158.js
new file mode 100644
index 0000000000..50ba14b232
--- /dev/null
+++ b/js/src/jit-test/tests/basic/testBug753158.js
@@ -0,0 +1,67 @@
+function testFuncStmt1() {
+ var g = 3;
+ function f(b) {
+ if (b) {
+ function g() { return 42 }
+ assertEq(g(), 42);
+ }
+ }
+ f(true);
+}
+testFuncStmt1();
+
+function testFuncStmt2() {
+ var g = 3;
+ (function(b) {
+ if (b) {
+ function g() { return 42 }
+ function f() { assertEq(g(), 42); }
+ f();
+ }
+ })(true);
+}
+testFuncStmt2();
+
+function testEval1() {
+ var g = 3;
+ function f() {
+ eval("var g = 42");
+ assertEq(g, 42);
+ }
+ f();
+}
+testEval1();
+
+function testEval2() {
+ var g = 3;
+ (function() {
+ eval("var g = 42");
+ function f() {
+ assertEq(g, 42);
+ }
+ f();
+ })();
+}
+testEval2();
+
+function testWith1() {
+ var g = 3;
+ function f() {
+ with ({g:42}) {
+ assertEq(g, 42);
+ }
+ }
+ f();
+}
+testWith1();
+
+function testWith2() {
+ var g = 3;
+ with ({g:42}) {
+ function f() {
+ assertEq(g, 42);
+ }
+ }
+ f();
+}
+testWith2();