summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b-if.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b-if.js')
-rw-r--r--js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b-if.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b-if.js b/js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b-if.js
new file mode 100644
index 0000000000..ce63aeeea2
--- /dev/null
+++ b/js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b-if.js
@@ -0,0 +1,42 @@
+var log = "";
+
+function f(x) {
+ if (x)
+ function g() { return "g0"; }
+ else
+ function g() { return "g1"; }
+
+ log += g();
+
+ if (x)
+ function g() { return "g2"; }
+ else {
+ }
+
+ log += g();
+
+ if (x) {
+ } else
+ function g() { return "g3"; }
+
+ log += g();
+
+ if (x)
+ function g() { return "g4"; }
+
+ log += g();
+}
+
+f(true);
+f(false);
+
+try {
+ eval(`
+ if (1)
+ l: function foo() {}
+ `);
+} catch (e) {
+ log += "e";
+}
+
+reportCompare(log, "g0g2g2g4g1g1g3g3e");