summaryrefslogtreecommitdiffstats
path: root/js/src/tests/ecma_6/Function/rest-has-duplicated.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/ecma_6/Function/rest-has-duplicated.js')
-rw-r--r--js/src/tests/ecma_6/Function/rest-has-duplicated.js17
1 files changed, 17 insertions, 0 deletions
diff --git a/js/src/tests/ecma_6/Function/rest-has-duplicated.js b/js/src/tests/ecma_6/Function/rest-has-duplicated.js
new file mode 100644
index 000000000..67577ab4e
--- /dev/null
+++ b/js/src/tests/ecma_6/Function/rest-has-duplicated.js
@@ -0,0 +1,17 @@
+// Make sure duplicated name is allowed in non-strict.
+function f0(a, a) {
+}
+
+// SyntaxError should be thrown if rest parameter name is duplicated.
+assertThrowsInstanceOf(() => eval(`
+function f1(a, ...a) {
+}
+`), SyntaxError);
+
+// SyntaxError should be thrown if there is a duplicated parameter.
+assertThrowsInstanceOf(() => eval(`
+function f2(a, a, ...b) {
+}
+`), SyntaxError);
+
+reportCompare(0, 0, 'ok');