summaryrefslogtreecommitdiffstats
path: root/js/src/tests
diff options
context:
space:
mode:
authorGaming4JC <g4jc@hyperbola.info>2019-06-08 16:37:10 -0400
committerGaming4JC <g4jc@hyperbola.info>2019-07-18 22:38:19 -0400
commitadc81d634d12d58a64e0d2a1e95998b766cf6e96 (patch)
tree2153cf74c44f6d67a56311d74a4bc357cab13ee1 /js/src/tests
parent52e22e231b065cc7d5975d5f6f8a9231c4f18f6e (diff)
downloadUXP-adc81d634d12d58a64e0d2a1e95998b766cf6e96.tar
UXP-adc81d634d12d58a64e0d2a1e95998b766cf6e96.tar.gz
UXP-adc81d634d12d58a64e0d2a1e95998b766cf6e96.tar.lz
UXP-adc81d634d12d58a64e0d2a1e95998b766cf6e96.tar.xz
UXP-adc81d634d12d58a64e0d2a1e95998b766cf6e96.zip
1317374 - Don't do Annex B lexical function behavior when redeclaring a parameter name.
Diffstat (limited to 'js/src/tests')
-rw-r--r--js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b-parameter.js16
-rw-r--r--js/src/tests/js1_8/regress/regress-467495-05.js2
-rw-r--r--js/src/tests/js1_8/regress/regress-467495-06.js2
3 files changed, 18 insertions, 2 deletions
diff --git a/js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b-parameter.js b/js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b-parameter.js
new file mode 100644
index 000000000..f0adedf7d
--- /dev/null
+++ b/js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b-parameter.js
@@ -0,0 +1,16 @@
+// Annex B.3.3.1 disallows Annex B lexical function behavior when redeclaring a
+// parameter.
+
+(function(f) {
+ if (true) function f() { }
+ assertEq(f, 123);
+}(123));
+
+(function(f) {
+ { function f() { } }
+ assertEq(f, 123);
+}(123));
+
+
+if (typeof reportCompare === "function")
+ reportCompare(true, true);
diff --git a/js/src/tests/js1_8/regress/regress-467495-05.js b/js/src/tests/js1_8/regress/regress-467495-05.js
index 505fb6bd6..ecf47b8fe 100644
--- a/js/src/tests/js1_8/regress/regress-467495-05.js
+++ b/js/src/tests/js1_8/regress/regress-467495-05.js
@@ -20,7 +20,7 @@ function test()
printBugNumber(BUGNUMBER);
printStatus (summary);
- expect = 'function x() {}';
+ expect = '1';
function g(x) { if (1) function x() {} return x; }
print(actual = g(1) + '');
diff --git a/js/src/tests/js1_8/regress/regress-467495-06.js b/js/src/tests/js1_8/regress/regress-467495-06.js
index d8bc81c83..72adeee9e 100644
--- a/js/src/tests/js1_8/regress/regress-467495-06.js
+++ b/js/src/tests/js1_8/regress/regress-467495-06.js
@@ -32,7 +32,7 @@ function test()
var r = f(0);
- if (typeof(r[0]) != "function")
+ if (typeof(r[0]) != "number")
actual += "Bad r[0]";
if (typeof(r[1]) != "function")