summaryrefslogtreecommitdiffstats
path: root/js/src/tests/ecma_6/Function/arguments-parameter-shadowing.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/ecma_6/Function/arguments-parameter-shadowing.js')
-rw-r--r--js/src/tests/ecma_6/Function/arguments-parameter-shadowing.js22
1 files changed, 22 insertions, 0 deletions
diff --git a/js/src/tests/ecma_6/Function/arguments-parameter-shadowing.js b/js/src/tests/ecma_6/Function/arguments-parameter-shadowing.js
new file mode 100644
index 000000000..bc2b43011
--- /dev/null
+++ b/js/src/tests/ecma_6/Function/arguments-parameter-shadowing.js
@@ -0,0 +1,22 @@
+// Test that var declarations of arguments "shadows" the arguments binding
+// used in parameter expressions.
+
+function g8(h = () => arguments) {
+ var arguments = 0;
+ assertEq(arguments, 0);
+ assertEq(arguments === h(), false);
+}
+g8();
+
+function g9(h = () => arguments) {
+ var arguments;
+ assertEq(void 0 === arguments, false);
+ assertEq(h(), arguments);
+ arguments = 0;
+ assertEq(arguments, 0);
+ assertEq(arguments === h(), false);
+}
+g9();
+
+if (typeof reportCompare === "function")
+ reportCompare(true, true);