diff --git a/test/language/arrow-function/Arrow-Function_semantics.js b/test/language/arrow-function/Arrow-Function_semantics.js
deleted file mode 100644
index b9546db2571426080a904ce60f23014443b70aed..0000000000000000000000000000000000000000
--- a/test/language/arrow-function/Arrow-Function_semantics.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright (C) 2014 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-/*---
-es6id: 14.2
-description: >
-    Semantics associated with specific Arrow Function syntactic forms.
-includes: [compareArray.js]
----*/
-
-// Empty arrow function returns undefined
-var empty = () => {};
-assert.sameValue(empty(), undefined);
-
-// Single parameter case needs no parentheses around parameter list
-var identity = x => x;
-assert.sameValue(identity(empty), empty);
-
-// No need for parentheses even for lower-precedence expression body
-var square = x => x * x;
-assert.sameValue(square(3), 9);
-
-// Parenthesize the body to return an object literal expression
-var key_maker = val => ({key: val});
-assert.sameValue(key_maker(empty).key, empty);
-
-// Expression Body implicit return
-var evens = [0, 2, 4, 6, 8];
-assert(compareArray(evens.map(v => v + 1), [1, 3, 5, 7, 9]));
-
-// Statement body needs braces, must use 'return' explicitly if not void
-var fives = [];
-[1, 2, 3, 4, 5, 6, 7, 8, 9, 10].forEach(v => {
-  if (v % 5 === 0) fives.push(v);
-});
-assert(compareArray(fives, [5, 10]));
diff --git a/test/language/arrow-function/ArrowFunction_restricted-properties.js b/test/language/expressions/arrow-function/ArrowFunction_restricted-properties.js
similarity index 100%
rename from test/language/arrow-function/ArrowFunction_restricted-properties.js
rename to test/language/expressions/arrow-function/ArrowFunction_restricted-properties.js
diff --git a/test/language/expressions/arrow-function/cannot-override-this-with-thisArg.js b/test/language/expressions/arrow-function/cannot-override-this-with-thisArg.js
new file mode 100644
index 0000000000000000000000000000000000000000..459fbb294b691ba97ca465788331a5598d14195d
--- /dev/null
+++ b/test/language/expressions/arrow-function/cannot-override-this-with-thisArg.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2
+description: >
+    ArrowFunction `this` cannot be overridden by thisArg
+
+    9.2.4 FunctionInitialize (F, kind, ParameterList, Body, Scope)
+
+      ...
+      9. If kind is Arrow, set the [[ThisMode]] internal slot of F to lexical.
+      ...
+
+    9.2.1.2 OrdinaryCallBindThis ( F, calleeContext, thisArgument )
+
+      1. Let thisMode be the value of F’s [[ThisMode]] internal slot.
+      2. If thisMode is lexical, return NormalCompletion(undefined).
+      ...
+
+---*/
+
+var calls = 0;
+var usurper = {};
+[1].forEach(value => {
+  calls++;
+  assert.notSameValue(this, usurper);
+}, usurper);
+
+assert.sameValue(calls, 1);
diff --git a/test/language/expressions/arrow-function/empty-function-body-returns-undefined.js b/test/language/expressions/arrow-function/empty-function-body-returns-undefined.js
new file mode 100644
index 0000000000000000000000000000000000000000..4ae7ca0d0756d132b35a51b049d3cd6fa7757085
--- /dev/null
+++ b/test/language/expressions/arrow-function/empty-function-body-returns-undefined.js
@@ -0,0 +1,10 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2
+description: >
+    Empty arrow function returns undefined
+---*/
+
+var empty = () => {};
+assert.sameValue(empty(), undefined);
diff --git a/test/language/expressions/arrow-function/expression-body-implicit-return.js b/test/language/expressions/arrow-function/expression-body-implicit-return.js
new file mode 100644
index 0000000000000000000000000000000000000000..ab77b9cd8ea23b9055c7505e068285a210a1cd5d
--- /dev/null
+++ b/test/language/expressions/arrow-function/expression-body-implicit-return.js
@@ -0,0 +1,9 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2
+description: >
+    Expression Body implicit return
+---*/
+var plusOne = v => v + 1;
+assert.sameValue(plusOne(1), 2);
diff --git a/test/language/expressions/arrow-function/lexical-arguments.js b/test/language/expressions/arrow-function/lexical-arguments.js
new file mode 100644
index 0000000000000000000000000000000000000000..5da096fddaf095ae11202dc44b9e0bd13985b76b
--- /dev/null
+++ b/test/language/expressions/arrow-function/lexical-arguments.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2.16
+description: >
+    Runtime Semantics: Evaluation
+
+    arguments
+
+    ...
+    4. Let closure be FunctionCreate(Arrow, parameters, ConciseBody, scope, strict).
+    ...
+
+    The non-normative note elaborates on the "scope" argument:
+
+    An ArrowFunction does not define local bindings for arguments, super, this, or new.target. Any reference to arguments, super, or this within an ArrowFunction must resolve to a binding in a lexically enclosing environment. Typically this will be the Function Environment of an immediately enclosing function. Even though an ArrowFunction may contain references to super, the function object created in step 4 is not made into a method by performing MakeMethod. An ArrowFunction that references super is always contained within a non-ArrowFunction and the necessary state to implement super is accessible via the scope that is captured by the function object of the ArrowFunction.
+---*/
+
+function f() {
+  var args = arguments;
+
+  var af = _ => {
+    return arguments;
+  };
+
+  return args === af();
+}
+
+assert(f());
diff --git a/test/language/expressions/arrow-function/lexical-bindings-overriden-by-formal-parameters-non-strict.js b/test/language/expressions/arrow-function/lexical-bindings-overriden-by-formal-parameters-non-strict.js
new file mode 100644
index 0000000000000000000000000000000000000000..a54fb2806d6a02810163fdf4065cd73cf2cab3d5
--- /dev/null
+++ b/test/language/expressions/arrow-function/lexical-bindings-overriden-by-formal-parameters-non-strict.js
@@ -0,0 +1,14 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2.16
+description: >
+    Runtime Semantics: Evaluation
+
+flags: [noStrict]
+---*/
+function f() {
+  return (arguments) => arguments;
+}
+
+assert.sameValue(f(1)(2), 2);
diff --git a/test/language/expressions/arrow-function/lexical-new.target-closure-returned.js b/test/language/expressions/arrow-function/lexical-new.target-closure-returned.js
new file mode 100644
index 0000000000000000000000000000000000000000..cbe64efe1d9f71c5a0562ffb93b0b317c3dd6fd3
--- /dev/null
+++ b/test/language/expressions/arrow-function/lexical-new.target-closure-returned.js
@@ -0,0 +1,30 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2.16
+description: >
+    Runtime Semantics: Evaluation
+
+    new.target
+
+    ...
+    4. Let closure be FunctionCreate(Arrow, parameters, ConciseBody, scope, strict).
+    ...
+
+    The non-normative note elaborates on the "scope" argument:
+
+    An ArrowFunction does not define local bindings for arguments, super, this, or new.target. Any reference to arguments, super, or this within an ArrowFunction must resolve to a binding in a lexically enclosing environment. Typically this will be the Function Environment of an immediately enclosing function. Even though an ArrowFunction may contain references to super, the function object created in step 4 is not made into a method by performing MakeMethod. An ArrowFunction that references super is always contained within a non-ArrowFunction and the necessary state to implement super is accessible via the scope that is captured by the function object of the ArrowFunction.
+---*/
+
+function F() {
+  this.af = _ => {
+    if (new.target) {
+      return 1;
+    }
+    return 2;
+  };
+}
+
+var f = new F();
+
+assert.sameValue(f.af(), 1);
diff --git a/test/language/expressions/arrow-function/lexical-new.target.js b/test/language/expressions/arrow-function/lexical-new.target.js
new file mode 100644
index 0000000000000000000000000000000000000000..ef76c6bd83dc07a841aa81048a0b6c0199816df4
--- /dev/null
+++ b/test/language/expressions/arrow-function/lexical-new.target.js
@@ -0,0 +1,33 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2.16
+description: >
+    Runtime Semantics: Evaluation
+
+    new.target
+
+    ...
+    4. Let closure be FunctionCreate(Arrow, parameters, ConciseBody, scope, strict).
+    ...
+
+    The non-normative note elaborates on the "scope" argument:
+
+    An ArrowFunction does not define local bindings for arguments, super, this, or new.target. Any reference to arguments, super, or this within an ArrowFunction must resolve to a binding in a lexically enclosing environment. Typically this will be the Function Environment of an immediately enclosing function. Even though an ArrowFunction may contain references to super, the function object created in step 4 is not made into a method by performing MakeMethod. An ArrowFunction that references super is always contained within a non-ArrowFunction and the necessary state to implement super is accessible via the scope that is captured by the function object of the ArrowFunction.
+---*/
+
+var functionInvocationCount = 0;
+var newInvocationCount = 0;
+
+function F() {
+  if ((_ => new.target)() !== undefined) {
+    newInvocationCount++;
+  }
+  functionInvocationCount++;
+}
+
+F();
+new F();
+
+assert.sameValue(functionInvocationCount, 2);
+assert.sameValue(newInvocationCount, 1);
diff --git a/test/language/expressions/arrow-function/lexical-super-call-from-within-constructor.js b/test/language/expressions/arrow-function/lexical-super-call-from-within-constructor.js
new file mode 100644
index 0000000000000000000000000000000000000000..533c7773636171eb0ce2663fb2b44fa296a69bce
--- /dev/null
+++ b/test/language/expressions/arrow-function/lexical-super-call-from-within-constructor.js
@@ -0,0 +1,46 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 12.3.5.1
+description: >
+    Runtime Semantics: Evaluation
+
+    SuperCall : super Arguments
+
+    ...
+    7. Let result be Construct(func, argList, newTarget).
+    ...
+    10. Return thisER.BindThisValue(result)
+
+
+    8.1.1.3.1 BindThisValue(V)
+
+    ...
+    3. If envRec.[[thisBindingStatus]] is "initialized", throw a ReferenceError exception.
+    ...
+---*/
+
+var count = 0;
+
+class A {
+  constructor() {
+    count++;
+  }
+}
+
+class B extends A {
+  constructor() {
+    super();
+    // envRec.[[thisBindingStatus]] is "initialized"
+    this.af = _ => super();
+  }
+}
+
+var b = new B();
+
+assert.throws(ReferenceError, function() {
+  b.af();
+});
+
+
+assert.sameValue(count, 2, "The value of `count` is `2`, because S7 of `SuperCall : super Arguments` will call the super constructor.");
diff --git a/test/language/expressions/arrow-function/lexical-super-property-from-within-constructor.js b/test/language/expressions/arrow-function/lexical-super-property-from-within-constructor.js
new file mode 100644
index 0000000000000000000000000000000000000000..b7146f6613df9a03623ce785b3aeaac90abfcdd8
--- /dev/null
+++ b/test/language/expressions/arrow-function/lexical-super-property-from-within-constructor.js
@@ -0,0 +1,40 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2.16
+description: >
+    Runtime Semantics: Evaluation
+
+    super
+
+    ...
+    4. Let closure be FunctionCreate(Arrow, parameters, ConciseBody, scope, strict).
+    ...
+
+    The non-normative note elaborates on the "scope" argument:
+
+    An ArrowFunction does not define local bindings for arguments, super, this, or new.target. Any reference to arguments, super, or this within an ArrowFunction must resolve to a binding in a lexically enclosing environment. Typically this will be the Function Environment of an immediately enclosing function. Even though an ArrowFunction may contain references to super, the function object created in step 4 is not made into a method by performing MakeMethod. An ArrowFunction that references super is always contained within a non-ArrowFunction and the necessary state to implement super is accessible via the scope that is captured by the function object of the ArrowFunction.
+---*/
+
+var count = 0;
+
+class A {
+  constructor() {
+    count++;
+  }
+  increment() {
+    count++;
+  }
+}
+
+class B extends A {
+  constructor() {
+    super();
+    (_ => super.increment())();
+  }
+}
+
+
+var bar = new B();
+
+assert.sameValue(count, 2);
diff --git a/test/language/expressions/arrow-function/lexical-super-property.js b/test/language/expressions/arrow-function/lexical-super-property.js
new file mode 100644
index 0000000000000000000000000000000000000000..99f6e4743dda2240c26eabb06ffa8fdbdd55c91a
--- /dev/null
+++ b/test/language/expressions/arrow-function/lexical-super-property.js
@@ -0,0 +1,38 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2.16
+description: >
+    Runtime Semantics: Evaluation
+
+    super
+
+    ...
+    4. Let closure be FunctionCreate(Arrow, parameters, ConciseBody, scope, strict).
+    ...
+
+    The non-normative note elaborates on the "scope" argument:
+
+    An ArrowFunction does not define local bindings for arguments, super, this, or new.target. Any reference to arguments, super, or this within an ArrowFunction must resolve to a binding in a lexically enclosing environment. Typically this will be the Function Environment of an immediately enclosing function. Even though an ArrowFunction may contain references to super, the function object created in step 4 is not made into a method by performing MakeMethod. An ArrowFunction that references super is always contained within a non-ArrowFunction and the necessary state to implement super is accessible via the scope that is captured by the function object of the ArrowFunction.
+---*/
+
+var count = 0;
+
+class A {
+  increment() {
+    count++;
+  }
+}
+
+class B extends A {
+  incrementer() {
+    (_ => super.increment())();
+  }
+}
+
+
+var bar = new B();
+
+bar.incrementer();
+
+assert.sameValue(count, 1);
diff --git a/test/language/expressions/arrow-function/lexical-supercall-from-immediately-invoked-arrow.js b/test/language/expressions/arrow-function/lexical-supercall-from-immediately-invoked-arrow.js
new file mode 100644
index 0000000000000000000000000000000000000000..0d912e5c2a746a3bce31b9bac01af35630971db6
--- /dev/null
+++ b/test/language/expressions/arrow-function/lexical-supercall-from-immediately-invoked-arrow.js
@@ -0,0 +1,35 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2.16
+description: >
+    Runtime Semantics: Evaluation
+
+    super
+
+    ...
+    4. Let closure be FunctionCreate(Arrow, parameters, ConciseBody, scope, strict).
+    ...
+
+    The non-normative note elaborates on the "scope" argument:
+
+    An ArrowFunction does not define local bindings for arguments, super, this, or new.target. Any reference to arguments, super, or this within an ArrowFunction must resolve to a binding in a lexically enclosing environment. Typically this will be the Function Environment of an immediately enclosing function. Even though an ArrowFunction may contain references to super, the function object created in step 4 is not made into a method by performing MakeMethod. An ArrowFunction that references super is always contained within a non-ArrowFunction and the necessary state to implement super is accessible via the scope that is captured by the function object of the ArrowFunction.
+---*/
+
+var count = 0;
+
+class A {
+  constructor() {
+    count++;
+  }
+}
+
+class B extends A {
+  constructor() {
+    (_ => super())();
+  }
+}
+
+var bar = new B();
+
+assert.sameValue(count, 1);
diff --git a/test/language/expressions/arrow-function/lexical-this.js b/test/language/expressions/arrow-function/lexical-this.js
new file mode 100644
index 0000000000000000000000000000000000000000..f6ea9306bc98f50f7ba6b32b36940fa20122340b
--- /dev/null
+++ b/test/language/expressions/arrow-function/lexical-this.js
@@ -0,0 +1,31 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2.16
+description: >
+    Runtime Semantics: Evaluation
+
+    this
+
+    ...
+    4. Let closure be FunctionCreate(Arrow, parameters, ConciseBody, scope, strict).
+    ...
+
+    The non-normative note elaborates on the "scope" argument:
+
+    An ArrowFunction does not define local bindings for arguments, super, this, or new.target. Any reference to arguments, super, or this within an ArrowFunction must resolve to a binding in a lexically enclosing environment. Typically this will be the Function Environment of an immediately enclosing function. Even though an ArrowFunction may contain references to super, the function object created in step 4 is not made into a method by performing MakeMethod. An ArrowFunction that references super is always contained within a non-ArrowFunction and the necessary state to implement super is accessible via the scope that is captured by the function object of the ArrowFunction.
+---*/
+
+function F() {
+  this.af = _ => {
+    return this;
+  };
+}
+
+var usurper = {};
+var f = new F();
+
+assert.sameValue(f.af(), f);
+assert.sameValue(f.af.apply(usurper), f);
+assert.sameValue(f.af.call(usurper), f);
+assert.sameValue(f.af.bind(usurper)(), f);
diff --git a/test/language/expressions/arrow-function/low-precedence-expression-body-no-parens.js b/test/language/expressions/arrow-function/low-precedence-expression-body-no-parens.js
new file mode 100644
index 0000000000000000000000000000000000000000..dfd61f49aab008c447dcdfded14407e5df7b4e35
--- /dev/null
+++ b/test/language/expressions/arrow-function/low-precedence-expression-body-no-parens.js
@@ -0,0 +1,10 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2
+description: >
+    No need for parentheses even for lower-precedence expression body
+---*/
+
+var square = x => x * x;
+assert.sameValue(square(3), 9);
diff --git a/test/language/expressions/arrow-function/non-strict.js b/test/language/expressions/arrow-function/non-strict.js
new file mode 100644
index 0000000000000000000000000000000000000000..5f6357d1b7153d2b6d142b084aa8fcf5ecc08adf
--- /dev/null
+++ b/test/language/expressions/arrow-function/non-strict.js
@@ -0,0 +1,20 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2.16
+description: >
+    Runtime Semantics: Evaluation
+
+    1. If the function code for this ArrowFunction is strict mode code (10.2.1),
+      let strict be true. Otherwise let strict be false.
+    ...
+
+flags: [noStrict]
+---*/
+var af = _ => {
+  foo = 1;
+};
+
+af();
+
+assert.sameValue(foo, 1);
diff --git a/test/language/expressions/arrow-function/object-literal-return-requires-body-parens.js b/test/language/expressions/arrow-function/object-literal-return-requires-body-parens.js
new file mode 100644
index 0000000000000000000000000000000000000000..0b2469f78ba983668a462bbc41e79d3c7d79bf07
--- /dev/null
+++ b/test/language/expressions/arrow-function/object-literal-return-requires-body-parens.js
@@ -0,0 +1,10 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2
+description: >
+    Parenthesize the body to return an object literal expression
+---*/
+
+var keyMaker = val => ({ key: val });
+assert.sameValue(keyMaker(1).key, 1);
diff --git a/test/language/arrow-function/Arrow-Function_rules-for-prototype.js b/test/language/expressions/arrow-function/prototype-rules.js
similarity index 76%
rename from test/language/arrow-function/Arrow-Function_rules-for-prototype.js
rename to test/language/expressions/arrow-function/prototype-rules.js
index cc12cbf59e6b540a1a5f8fef88ceb9af5329ea0f..88e786704f88d10daa550db1df45d0b68727e03a 100644
--- a/test/language/arrow-function/Arrow-Function_rules-for-prototype.js
+++ b/test/language/expressions/arrow-function/prototype-rules.js
@@ -1,4 +1,4 @@
-// Copyright (C) 2014 the V8 project authors. All rights reserved.
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
 // This code is governed by the BSD license found in the LICENSE file.
 /*---
 es6id: 14.2
@@ -9,5 +9,4 @@ description: >
 
 assert.sameValue(typeof (() => {}), "function");
 assert.sameValue(Object.getPrototypeOf(() => {}), Function.prototype);
-assert.throws(TypeError, function() { new (() => {}); });
 assert.sameValue("prototype" in (() => {}), false);
diff --git a/test/language/expressions/arrow-function/statement-body-requires-braces-must-return-explicitly-missing.js b/test/language/expressions/arrow-function/statement-body-requires-braces-must-return-explicitly-missing.js
new file mode 100644
index 0000000000000000000000000000000000000000..62416b8c543e5257d1400b10ae9a82710a1dfeea
--- /dev/null
+++ b/test/language/expressions/arrow-function/statement-body-requires-braces-must-return-explicitly-missing.js
@@ -0,0 +1,12 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2
+description: >
+    Statement body needs braces, must use 'return' explicitly if not void
+---*/
+var plusOne = v => {
+  v + 1;
+};
+
+assert.sameValue(plusOne(1), undefined);
diff --git a/test/language/expressions/arrow-function/statement-body-requires-braces-must-return-explicitly.js b/test/language/expressions/arrow-function/statement-body-requires-braces-must-return-explicitly.js
new file mode 100644
index 0000000000000000000000000000000000000000..84f8f8fd6821b249e3bf0a16b695c563e67085fb
--- /dev/null
+++ b/test/language/expressions/arrow-function/statement-body-requires-braces-must-return-explicitly.js
@@ -0,0 +1,12 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2
+description: >
+    Statement body needs braces, must use 'return' explicitly if not void
+---*/
+var plusOne = v => {
+  return v + 1;
+};
+
+assert.sameValue(plusOne(1), 2);
diff --git a/test/language/expressions/arrow-function/strict.js b/test/language/expressions/arrow-function/strict.js
new file mode 100644
index 0000000000000000000000000000000000000000..2883e64d7171304c68f219b304c829c30abc0557
--- /dev/null
+++ b/test/language/expressions/arrow-function/strict.js
@@ -0,0 +1,22 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2.16
+description: >
+    Runtime Semantics: Evaluation
+
+    1. If the function code for this ArrowFunction is strict mode code (10.2.1),
+      let strict be true. Otherwise let strict be false.
+    ...
+
+flags: [onlyStrict]
+---*/
+assert.throws(ReferenceError, function() {
+  var af = _ => {
+    foo = 1;
+  };
+
+  af();
+});
+
+assert.sameValue(typeof foo, "undefined");
diff --git a/test/language/expressions/arrow-function/syntax/arrowparameters-bindingidentifier-arguments.js b/test/language/expressions/arrow-function/syntax/arrowparameters-bindingidentifier-arguments.js
new file mode 100644
index 0000000000000000000000000000000000000000..a44973119b5edee9b4cffda15a3234c415ea3fb5
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/arrowparameters-bindingidentifier-arguments.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2.1
+description: >
+    ArrowParameters[Yield] :
+      BindingIdentifier[?Yield]
+      ...
+    
+    Parameter named "arguments", non-strict
+
+flags: [noStrict]
+---*/
+var af = arguments => arguments;
+
+assert.sameValue(typeof af, "function");
+assert.sameValue(af(1), 1);
diff --git a/test/language/expressions/arrow-function/syntax/arrowparameters-bindingidentifier-concisebody-assignmentexpression.js b/test/language/expressions/arrow-function/syntax/arrowparameters-bindingidentifier-concisebody-assignmentexpression.js
new file mode 100644
index 0000000000000000000000000000000000000000..0b933bab257ecd47be73623c2036411494325180
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/arrowparameters-bindingidentifier-concisebody-assignmentexpression.js
@@ -0,0 +1,16 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2
+description: >
+    ArrowFunction[In, Yield] :
+      ArrowParameters[?Yield] [no LineTerminator here] => ConciseBody[?In]
+
+    LineTerminator not present
+    ArrowParameters[Yield] : BindingIdentifier
+    ConciseBody[In] : AssignmentExpression[?In]
+---*/
+var af = x => x;
+
+assert.sameValue(typeof af, "function");
+assert.sameValue(af(1), 1);
diff --git a/test/language/expressions/arrow-function/syntax/arrowparameters-bindingidentifier-concisebody-functionbody.js b/test/language/expressions/arrow-function/syntax/arrowparameters-bindingidentifier-concisebody-functionbody.js
new file mode 100644
index 0000000000000000000000000000000000000000..9a651b93286b0b31536b3af4078008156bb74344
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/arrowparameters-bindingidentifier-concisebody-functionbody.js
@@ -0,0 +1,22 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2
+description: >
+    ArrowFunction[In, Yield] :
+      ArrowParameters[?Yield] [no LineTerminator here] => ConciseBody[?In]
+
+    ArrowParameters[Yield] :
+      BindingIdentifier[?Yield]
+      ...
+
+    ConciseBody[In] :
+      ...
+      { FunctionBody }
+---*/
+var af = BindingIdentifier => {
+  return BindingIdentifier;
+};
+
+assert.sameValue(typeof af, "function");
+assert.sameValue(af(1), 1);
diff --git a/test/language/expressions/arrow-function/syntax/arrowparameters-bindingidentifier-eval.js b/test/language/expressions/arrow-function/syntax/arrowparameters-bindingidentifier-eval.js
new file mode 100644
index 0000000000000000000000000000000000000000..7dc1c2beffff4f50e3f423b292b195caf5ea8c9e
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/arrowparameters-bindingidentifier-eval.js
@@ -0,0 +1,18 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2.1
+description: >
+    ArrowParameters[Yield] :
+      BindingIdentifier[?Yield]
+      ...
+    
+    Parameter named "eval", non-strict
+
+flags: [noStrict]
+---*/
+var af = eval => eval;
+
+
+assert.sameValue(typeof af, "function");
+assert.sameValue(af(1), 1);
diff --git a/test/language/expressions/arrow-function/syntax/arrowparameters-bindingidentifier-lineterminator-concisebody-assignmentexpression.js b/test/language/expressions/arrow-function/syntax/arrowparameters-bindingidentifier-lineterminator-concisebody-assignmentexpression.js
new file mode 100644
index 0000000000000000000000000000000000000000..8ac7d0e1156b2a57f93e85b43698fde243cc8e25
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/arrowparameters-bindingidentifier-lineterminator-concisebody-assignmentexpression.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2
+description: >
+    ArrowFunction[In, Yield] :
+      ArrowParameters[?Yield] [no LineTerminator here] => ConciseBody[?In]
+
+    LineTerminator between arrow and ConciseBody
+    ArrowParameters : CoverParenthesizedExpressionAndArrowParameterList[?Yield]
+    ConciseBody[In] : AssignmentExpression[?In]
+---*/
+var af = x =>
+x;
+
+assert.sameValue(typeof af, "function");
+assert.sameValue(af(1), 1);
diff --git a/test/language/expressions/arrow-function/syntax/arrowparameters-bindingidentifier-lineterminator-concisebody-functionbody.js b/test/language/expressions/arrow-function/syntax/arrowparameters-bindingidentifier-lineterminator-concisebody-functionbody.js
new file mode 100644
index 0000000000000000000000000000000000000000..03712fa37aa8d9453e53f7b6b8121a7083c0a832
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/arrowparameters-bindingidentifier-lineterminator-concisebody-functionbody.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2
+description: >
+    ArrowFunction[In, Yield] :
+      ArrowParameters[?Yield] [no LineTerminator here] => ConciseBody[?In]
+
+    LineTerminator between arrow and ConciseBody[?In]
+    ArrowParameters : CoverParenthesizedExpressionAndArrowParameterList[?Yield]
+    ConciseBody[In] : { FunctionBody }
+---*/
+var af = x =>
+{ return x };
+
+assert.sameValue(typeof af, "function");
+assert.sameValue(af(1), 1);
diff --git a/test/language/expressions/arrow-function/syntax/arrowparameters-bindingidentifier-yield.js b/test/language/expressions/arrow-function/syntax/arrowparameters-bindingidentifier-yield.js
new file mode 100644
index 0000000000000000000000000000000000000000..59c4c01191b1b6a113d11c84b8a4dc7684eba6f4
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/arrowparameters-bindingidentifier-yield.js
@@ -0,0 +1,14 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2.1
+description: >
+    ArrowParameters[Yield] :
+      BindingIdentifier[?Yield]
+      ...
+    
+    Parameter named "yield", non-strict
+
+flags: [noStrict]
+---*/
+var af = yield => 1;
diff --git a/test/language/expressions/arrow-function/syntax/arrowparameters-cover-concisebody-assignmentexpression.js b/test/language/expressions/arrow-function/syntax/arrowparameters-cover-concisebody-assignmentexpression.js
new file mode 100644
index 0000000000000000000000000000000000000000..128a9788eac57fb23b150748ed72e1ca20beec2e
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/arrowparameters-cover-concisebody-assignmentexpression.js
@@ -0,0 +1,16 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2
+description: >
+    ArrowFunction[In, Yield] :
+      ArrowParameters[?Yield] [no LineTerminator here] => ConciseBody[?In]
+
+    LineTerminator not present
+    ArrowParameters : CoverParenthesizedExpressionAndArrowParameterList[?Yield]
+    ConciseBody[In] : [lookahead ≠ { ] AssignmentExpression[?In]
+---*/
+var af = (x) => x;
+
+assert.sameValue(typeof af, "function");
+assert.sameValue(af(1), 1);
diff --git a/test/language/expressions/arrow-function/syntax/arrowparameters-cover-concisebody-functionbody.js b/test/language/expressions/arrow-function/syntax/arrowparameters-cover-concisebody-functionbody.js
new file mode 100644
index 0000000000000000000000000000000000000000..b01f4822bf78c321c7c9718476a5ee3b9d815999
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/arrowparameters-cover-concisebody-functionbody.js
@@ -0,0 +1,15 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2
+description: >
+    ArrowFunction[In, Yield] :
+      ArrowParameters[?Yield] [no LineTerminator here] => ConciseBody[?In]
+
+    ArrowParameters : CoverParenthesizedExpressionAndArrowParameterList[?Yield]
+    ConciseBody[In] : { FunctionBody }
+---*/
+var af = (x) => { return x };
+
+assert.sameValue(typeof af, "function");
+assert.sameValue(af(1), 1);
diff --git a/test/language/expressions/arrow-function/syntax/arrowparameters-cover-formalparameters-arguments.js b/test/language/expressions/arrow-function/syntax/arrowparameters-cover-formalparameters-arguments.js
new file mode 100644
index 0000000000000000000000000000000000000000..ee0be17a95dbb5cb44d410f0b6ef14fb5b7f666f
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/arrowparameters-cover-formalparameters-arguments.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2.1
+description: >
+    ArrowParameters[Yield] :
+      ...
+      CoverParenthesizedExpressionAndArrowParameterList[?Yield]
+
+    Parameter named "arguments", non-strict
+
+flags: [noStrict]
+---*/
+var af = (arguments) => arguments;
+
+assert.sameValue(typeof af, "function");
+assert.sameValue(af(1), 1);
diff --git a/test/language/expressions/arrow-function/syntax/arrowparameters-cover-formalparameters-eval.js b/test/language/expressions/arrow-function/syntax/arrowparameters-cover-formalparameters-eval.js
new file mode 100644
index 0000000000000000000000000000000000000000..62c5428ccbf5ce831cc536eb039107f0c679ad81
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/arrowparameters-cover-formalparameters-eval.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2.1
+description: >
+    ArrowParameters[Yield] :
+      ...
+      CoverParenthesizedExpressionAndArrowParameterList[?Yield]
+
+    Parameter named "eval", non-strict
+
+flags: [noStrict]
+---*/
+var af = (eval) => eval;
+
+assert.sameValue(typeof af, "function");
+assert.sameValue(af(1), 1);
diff --git a/test/language/expressions/arrow-function/syntax/arrowparameters-cover-formalparameters-yield.js b/test/language/expressions/arrow-function/syntax/arrowparameters-cover-formalparameters-yield.js
new file mode 100644
index 0000000000000000000000000000000000000000..f933129df15b0d496237f7bfeefce9a4e6d0ad24
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/arrowparameters-cover-formalparameters-yield.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2.1
+description: >
+    ArrowParameters[Yield] :
+      ...
+      CoverParenthesizedExpressionAndArrowParameterList[?Yield]
+
+    Parameter named "yield", non-strict
+
+flags: [noStrict]
+---*/
+var af = (yield) => 1;
+
+assert.sameValue(typeof af, "function");
+assert.sameValue(af(1), 1);
diff --git a/test/language/expressions/arrow-function/syntax/arrowparameters-cover-includes-rest-concisebody-functionbody.js b/test/language/expressions/arrow-function/syntax/arrowparameters-cover-includes-rest-concisebody-functionbody.js
new file mode 100644
index 0000000000000000000000000000000000000000..a72925b8613487fe25d62d8a6cb44ef2e220ec26
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/arrowparameters-cover-includes-rest-concisebody-functionbody.js
@@ -0,0 +1,19 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2
+description: >
+    ArrowFunction[In, Yield] :
+      ArrowParameters[?Yield] [no LineTerminator here] => ConciseBody[?In]
+
+    LineTerminator between arrow and ConciseBody[?In]
+    ArrowParameters : CoverParenthesizedExpressionAndArrowParameterList[?Yield]
+    ConciseBody[In] : { FunctionBody }
+
+    Includes ...rest
+---*/
+var af = (x, ...y) => { return [x, y.length]; };
+
+assert.sameValue(typeof af, "function");
+assert.sameValue(af(1, 1, 1)[0], 1);
+assert.sameValue(af(1, 1, 1)[1], 2);
diff --git a/test/language/expressions/arrow-function/syntax/arrowparameters-cover-initialize-1.js b/test/language/expressions/arrow-function/syntax/arrowparameters-cover-initialize-1.js
new file mode 100644
index 0000000000000000000000000000000000000000..8f6da004a401c9a6aab7736586b26f2b1b76f996
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/arrowparameters-cover-initialize-1.js
@@ -0,0 +1,16 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2.1
+description: >
+    ArrowParameters[Yield] :
+      ...
+      CoverParenthesizedExpressionAndArrowParameterList[?Yield]
+
+---*/
+var af = (x = 1) => x;
+
+
+assert.sameValue(typeof af, "function");
+assert.sameValue(af(), 1);
+assert.sameValue(af(2), 2);
diff --git a/test/language/expressions/arrow-function/syntax/arrowparameters-cover-initialize-2.js b/test/language/expressions/arrow-function/syntax/arrowparameters-cover-initialize-2.js
new file mode 100644
index 0000000000000000000000000000000000000000..63e14fa59ce94df555283d68aa884768d54082b4
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/arrowparameters-cover-initialize-2.js
@@ -0,0 +1,16 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2.1
+description: >
+    ArrowParameters[Yield] :
+      ...
+      CoverParenthesizedExpressionAndArrowParameterList[?Yield]
+
+    12.14.5
+    ---*/
+var af = ({x = 1}) => x;
+
+assert.sameValue(typeof af, "function");
+assert.sameValue(af({}), 1);
+assert.sameValue(af({x: 2}), 2);
diff --git a/test/language/expressions/arrow-function/syntax/arrowparameters-cover-lineterminator-concisebody-assignmentexpression.js b/test/language/expressions/arrow-function/syntax/arrowparameters-cover-lineterminator-concisebody-assignmentexpression.js
new file mode 100644
index 0000000000000000000000000000000000000000..9086c9c4615f1d11c9b930e08d463a612d69a057
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/arrowparameters-cover-lineterminator-concisebody-assignmentexpression.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2
+description: >
+    ArrowFunction[In, Yield] :
+      ArrowParameters[?Yield] [no LineTerminator here] => ConciseBody[?In]
+
+    LineTerminator not present
+    ArrowParameters : CoverParenthesizedExpressionAndArrowParameterList[?Yield]
+    ConciseBody[In] : [lookahead ≠ { ] AssignmentExpression[?In]
+---*/
+var af = (x) =>
+x;
+
+assert.sameValue(typeof af, "function");
+assert.sameValue(af(1), 1);
diff --git a/test/language/expressions/arrow-function/syntax/arrowparameters-cover-lineterminator-concisebody-functionbody.js b/test/language/expressions/arrow-function/syntax/arrowparameters-cover-lineterminator-concisebody-functionbody.js
new file mode 100644
index 0000000000000000000000000000000000000000..dba9b66dc9418b474c482b23ffda15d2dfb4e696
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/arrowparameters-cover-lineterminator-concisebody-functionbody.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2
+description: >
+    ArrowFunction[In, Yield] :
+      ArrowParameters[?Yield] [no LineTerminator here] => ConciseBody[?In]
+
+    LineTerminator between arrow and ConciseBody[?In]
+    ArrowParameters : CoverParenthesizedExpressionAndArrowParameterList[?Yield]
+    ConciseBody[In] : { FunctionBody }
+---*/
+var af = (x) =>
+{ return x };
+
+assert.sameValue(typeof af, "function");
+assert.sameValue(af(1), 1);
diff --git a/test/language/expressions/arrow-function/syntax/arrowparameters-cover-rest-concisebody-functionbody.js b/test/language/expressions/arrow-function/syntax/arrowparameters-cover-rest-concisebody-functionbody.js
new file mode 100644
index 0000000000000000000000000000000000000000..83db33f2707a548924eb49666e34a8b62bb1b631
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/arrowparameters-cover-rest-concisebody-functionbody.js
@@ -0,0 +1,18 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2
+description: >
+    ArrowFunction[In, Yield] :
+      ArrowParameters[?Yield] [no LineTerminator here] => ConciseBody[?In]
+
+    LineTerminator between arrow and ConciseBody[?In]
+    ArrowParameters : CoverParenthesizedExpressionAndArrowParameterList[?Yield]
+    ConciseBody[In] : { FunctionBody }
+
+    Includes ...rest
+---*/
+var af = (...x) => { return x.length; };
+
+assert.sameValue(typeof af, "function");
+assert.sameValue(af(1, 1, 1), 3);
diff --git a/test/language/expressions/arrow-function/syntax/arrowparameters-cover-rest-lineterminator-concisebody-functionbody.js b/test/language/expressions/arrow-function/syntax/arrowparameters-cover-rest-lineterminator-concisebody-functionbody.js
new file mode 100644
index 0000000000000000000000000000000000000000..c2fd82c53b436d95d701a0675c86cc5dc244f115
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/arrowparameters-cover-rest-lineterminator-concisebody-functionbody.js
@@ -0,0 +1,19 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2
+description: >
+    ArrowFunction[In, Yield] :
+      ArrowParameters[?Yield] [no LineTerminator here] => ConciseBody[?In]
+
+    LineTerminator between arrow and ConciseBody[?In]
+    ArrowParameters : CoverParenthesizedExpressionAndArrowParameterList[?Yield]
+    ConciseBody[In] : { FunctionBody }
+
+    Includes ...rest
+---*/
+var af = (...x) =>
+{ return x.length; };
+
+assert.sameValue(typeof af, "function");
+assert.sameValue(af(1, 1, 1), 3);
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-identifier-futurereservedword.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-identifier-futurereservedword.js
new file mode 100644
index 0000000000000000000000000000000000000000..cbbac94aaee27c27224da8b14b3fa3eec68592a6
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-identifier-futurereservedword.js
@@ -0,0 +1,20 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2
+description: >
+    ArrowParameters[Yield] :
+      BindingIdentifier[?Yield]
+
+    (12.1)
+    BindingIdentifier[Yield] :
+      Identifier[~Yield] yield
+
+    Identifier :
+      IdentifierName but not ReservedWord
+
+    ReservedWord : FutureReservedWord
+
+negative: SyntaxError
+---*/
+var af = enum => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-identifier-strict-futurereservedword.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-identifier-strict-futurereservedword.js
new file mode 100644
index 0000000000000000000000000000000000000000..e0a3e0532715c4430a87189730cc896cafb4e480
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-identifier-strict-futurereservedword.js
@@ -0,0 +1,23 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2
+description: >
+    ArrowParameters[Yield] :
+      BindingIdentifier[?Yield]
+
+    (12.1)
+    BindingIdentifier[Yield] :
+      Identifier[~Yield] yield
+
+    Identifier :
+      IdentifierName but not ReservedWord
+
+    ReservedWord : FutureReservedWord
+
+    Strict Mode
+
+negative: SyntaxError
+flags: [onlyStrict]
+---*/
+var af = package => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-identifier.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-identifier.js
new file mode 100644
index 0000000000000000000000000000000000000000..4833155bf02f8b791ebe09cf5251da8634cf58a3
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-identifier.js
@@ -0,0 +1,20 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2
+description: >
+    ArrowParameters[Yield] :
+      BindingIdentifier[?Yield]
+
+    (12.1)
+    BindingIdentifier[Yield] :
+      Identifier[~Yield] yield
+
+    Identifier :
+      IdentifierName but not ReservedWord
+
+    ReservedWord : Keyword
+
+negative: SyntaxError
+---*/
+var af = switch => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-no-arguments.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-no-arguments.js
new file mode 100644
index 0000000000000000000000000000000000000000..41185ef6ebcc66139fd60406f79452a8ee841e33
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-no-arguments.js
@@ -0,0 +1,15 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2.1
+description: >
+    ArrowParameters[Yield] :
+      BindingIdentifier[?Yield]
+      ...
+
+    No parameter named "arguments"
+
+negative: SyntaxError
+flags: [onlyStrict]
+---*/
+var af = arguments => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-no-eval.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-no-eval.js
new file mode 100644
index 0000000000000000000000000000000000000000..bd4662e33b83af6b808225d5baa7a10d8681809b
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-no-eval.js
@@ -0,0 +1,16 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2.1
+description: >
+    ArrowParameters[Yield] :
+      BindingIdentifier[?Yield]
+      ...
+
+
+    No parameter named "eval"
+
+negative: SyntaxError
+flags: [onlyStrict]
+---*/
+var af = eval => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-no-yield.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-no-yield.js
new file mode 100644
index 0000000000000000000000000000000000000000..98154b7b0fd71a5f383e7b4d05f07e2efe911a91
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-no-yield.js
@@ -0,0 +1,16 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2.1
+description: >
+    ArrowParameters[Yield] :
+      BindingIdentifier[?Yield]
+      ...
+
+
+    No parameter named "yield"
+
+negative: SyntaxError
+flags: [onlyStrict]
+---*/
+var af = yield => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-rest.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-rest.js
new file mode 100644
index 0000000000000000000000000000000000000000..2deba68f533a54a6abba67504e7d4c09227894dd
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-rest.js
@@ -0,0 +1,12 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2
+description: >
+    ArrowParameters : BindingIdentifier[?Yield]
+
+    Includes ...rest
+
+negative: SyntaxError
+---*/
+var af = ...x => x;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-arguments.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-arguments.js
new file mode 100644
index 0000000000000000000000000000000000000000..a956a4c133f5543d4a22f857f15eb0b5388e74b3
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-arguments.js
@@ -0,0 +1,20 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2.1
+description: >
+    ArrowParameters[Yield] :
+      ...
+      CoverParenthesizedExpressionAndArrowParameterList[?Yield]
+
+    CoverParenthesizedExpressionAndArrowParameterList, refined by:
+
+    ArrowFormalParameters[Yield, GeneratorParameter] :
+      ( StrictFormalParameters[?Yield, ?GeneratorParameter] )
+
+    No parameters named "arguments"
+
+negative: SyntaxError
+flags: [onlyStrict]
+---*/
+var af = (arguments) => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-array-1.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-array-1.js
new file mode 100644
index 0000000000000000000000000000000000000000..25507d52bbeb3092d587392a03294083a8ef194f
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-array-1.js
@@ -0,0 +1,21 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2.1
+description: >
+    ArrowParameters[Yield] :
+      ...
+      CoverParenthesizedExpressionAndArrowParameterList[?Yield]
+
+    CoverParenthesizedExpressionAndArrowParameterList, refined by:
+
+    ArrowFormalParameters[Yield, GeneratorParameter] :
+      ( StrictFormalParameters[?Yield, ?GeneratorParameter] )
+
+    ArrayBindingPattern
+
+    No duplicates
+
+negative: SyntaxError
+---*/
+var af = (x, [x]) => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-array-2.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-array-2.js
new file mode 100644
index 0000000000000000000000000000000000000000..f14fd4adae368cc8c4466bec855f314d7f18dc45
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-array-2.js
@@ -0,0 +1,21 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2.1
+description: >
+    ArrowParameters[Yield] :
+      ...
+      CoverParenthesizedExpressionAndArrowParameterList[?Yield]
+
+    CoverParenthesizedExpressionAndArrowParameterList, refined by:
+
+    ArrowFormalParameters[Yield, GeneratorParameter] :
+      ( StrictFormalParameters[?Yield, ?GeneratorParameter] )
+
+    ArrayBindingPattern
+
+    No duplicates
+
+negative: SyntaxError
+---*/
+var af = ([x, x]) => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-array-3.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-array-3.js
new file mode 100644
index 0000000000000000000000000000000000000000..62cd34fbc45d20cef6d99d615af8936161563e89
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-array-3.js
@@ -0,0 +1,23 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2.1
+description: >
+    ArrowParameters[Yield] :
+      ...
+      CoverParenthesizedExpressionAndArrowParameterList[?Yield]
+
+    CoverParenthesizedExpressionAndArrowParameterList, refined by:
+
+    ArrowFormalParameters[Yield, GeneratorParameter] :
+      ( StrictFormalParameters[?Yield, ?GeneratorParameter] )
+
+    ArrayBindingPattern
+
+    BindingRestElement
+
+    No duplicates
+
+negative: SyntaxError
+---*/
+var af = ([x], ...x) => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-1.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-1.js
new file mode 100644
index 0000000000000000000000000000000000000000..726529fb3e549ef7087df32cd5d6fd6701a66560
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-1.js
@@ -0,0 +1,21 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2.1
+description: >
+    ArrowParameters[Yield] :
+      ...
+      CoverParenthesizedExpressionAndArrowParameterList[?Yield]
+
+    CoverParenthesizedExpressionAndArrowParameterList, refined by:
+
+    ArrowFormalParameters[Yield, GeneratorParameter] :
+      ( StrictFormalParameters[?Yield, ?GeneratorParameter] )
+
+    ObjectBindingPattern
+
+    No duplicates
+
+negative: SyntaxError
+---*/
+var af = (x, {x}) => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-2.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-2.js
new file mode 100644
index 0000000000000000000000000000000000000000..87ea21470912b21f9465eba14fd16b34b6fa804b
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-2.js
@@ -0,0 +1,23 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2.1
+description: >
+    ArrowParameters[Yield] :
+      ...
+      CoverParenthesizedExpressionAndArrowParameterList[?Yield]
+
+    CoverParenthesizedExpressionAndArrowParameterList, refined by:
+
+    ArrowFormalParameters[Yield, GeneratorParameter] :
+      ( StrictFormalParameters[?Yield, ?GeneratorParameter] )
+
+    ObjectBindingPattern
+
+    BindingPropertyList
+
+    No duplicates
+
+negative: SyntaxError
+---*/
+var af = (x, {y: x}) => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-3.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-3.js
new file mode 100644
index 0000000000000000000000000000000000000000..9da505ef407ff0e4f4a597e51c87f51bafea06f1
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-3.js
@@ -0,0 +1,23 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2.1
+description: >
+    ArrowParameters[Yield] :
+      ...
+      CoverParenthesizedExpressionAndArrowParameterList[?Yield]
+
+    CoverParenthesizedExpressionAndArrowParameterList, refined by:
+
+    ArrowFormalParameters[Yield, GeneratorParameter] :
+      ( StrictFormalParameters[?Yield, ?GeneratorParameter] )
+
+    ObjectBindingPattern
+
+    BindingPropertyList
+
+    No duplicates
+
+negative: SyntaxError
+---*/
+var af = ({x}, {y: x}) => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-4.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-4.js
new file mode 100644
index 0000000000000000000000000000000000000000..fd05542d15df56fb9cfa1efcb1d1fcea74838d73
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-4.js
@@ -0,0 +1,25 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2.1
+description: >
+    ArrowParameters[Yield] :
+      ...
+      CoverParenthesizedExpressionAndArrowParameterList[?Yield]
+
+    CoverParenthesizedExpressionAndArrowParameterList, refined by:
+
+    ArrowFormalParameters[Yield, GeneratorParameter] :
+      ( StrictFormalParameters[?Yield, ?GeneratorParameter] )
+
+    ObjectBindingPattern
+
+    BindingPropertyList
+
+    BindingRestElement
+
+    No duplicates
+
+negative: SyntaxError
+---*/
+var af = ({x}, ...x) => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-5.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-5.js
new file mode 100644
index 0000000000000000000000000000000000000000..b547b6cb3ff0eb573e7f953421b35470db18d526
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-5.js
@@ -0,0 +1,25 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2.1
+description: >
+    ArrowParameters[Yield] :
+      ...
+      CoverParenthesizedExpressionAndArrowParameterList[?Yield]
+
+    CoverParenthesizedExpressionAndArrowParameterList, refined by:
+
+    ArrowFormalParameters[Yield, GeneratorParameter] :
+      ( StrictFormalParameters[?Yield, ?GeneratorParameter] )
+
+    ObjectBindingPattern
+
+    BindingPropertyList
+
+    BindingRestElement
+
+    No duplicates
+
+negative: SyntaxError
+---*/
+var af = ({y: x}, ...x) => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-6.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-6.js
new file mode 100644
index 0000000000000000000000000000000000000000..d16d4d033f00d1b6d618fee1572e8f53a71d82a8
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-6.js
@@ -0,0 +1,23 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2.1
+description: >
+    ArrowParameters[Yield] :
+      ...
+      CoverParenthesizedExpressionAndArrowParameterList[?Yield]
+
+    CoverParenthesizedExpressionAndArrowParameterList, refined by:
+
+    ArrowFormalParameters[Yield, GeneratorParameter] :
+      ( StrictFormalParameters[?Yield, ?GeneratorParameter] )
+
+    ObjectBindingPattern
+
+    BindingPropertyList
+
+    No duplicates
+
+negative: SyntaxError
+---*/
+var af = ({y: x, x}) => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-rest.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-rest.js
new file mode 100644
index 0000000000000000000000000000000000000000..368c8e9e0142f42a1c9f916be7965d735a1bd84e
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-rest.js
@@ -0,0 +1,19 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2.1
+description: >
+    ArrowParameters[Yield] :
+      ...
+      CoverParenthesizedExpressionAndArrowParameterList[?Yield]
+
+    CoverParenthesizedExpressionAndArrowParameterList, refined by:
+
+    ArrowFormalParameters[Yield, GeneratorParameter] :
+      ( StrictFormalParameters[?Yield, ?GeneratorParameter] )
+
+    No duplicates, rest
+
+negative: SyntaxError
+---*/
+var af = (x, ...x) => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates.js
new file mode 100644
index 0000000000000000000000000000000000000000..56e1cb3a4a648591f2c0f250b565ce4b27d75dcb
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates.js
@@ -0,0 +1,19 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2.1
+description: >
+    ArrowParameters[Yield] :
+      ...
+      CoverParenthesizedExpressionAndArrowParameterList[?Yield]
+
+    CoverParenthesizedExpressionAndArrowParameterList, refined by:
+
+    ArrowFormalParameters[Yield, GeneratorParameter] :
+      ( StrictFormalParameters[?Yield, ?GeneratorParameter] )
+
+    No duplicates
+
+negative: SyntaxError
+---*/
+var af = (x, x) => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-eval.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-eval.js
new file mode 100644
index 0000000000000000000000000000000000000000..d38f6acc8d18c09361f9dc511b1da6166d761a5c
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-eval.js
@@ -0,0 +1,20 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2.1
+description: >
+    ArrowParameters[Yield] :
+      ...
+      CoverParenthesizedExpressionAndArrowParameterList[?Yield]
+
+    CoverParenthesizedExpressionAndArrowParameterList, refined by:
+
+    ArrowFormalParameters[Yield, GeneratorParameter] :
+      ( StrictFormalParameters[?Yield, ?GeneratorParameter] )
+
+    No parameters named "eval"
+
+negative: SyntaxError
+flags: [onlyStrict]
+---*/
+var af = (eval) => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-yield.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-yield.js
new file mode 100644
index 0000000000000000000000000000000000000000..4152b370729cb98ea5ee93e19df266ff6ed6a210
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-yield.js
@@ -0,0 +1,15 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2.1
+description: >
+    ArrowParameters[Yield] :
+      ...
+      CoverParenthesizedExpressionAndArrowParameterList[?Yield]
+
+    No parameter named "yield"
+
+negative: SyntaxError
+flags: [onlyStrict]
+---*/
+var af = (yield) => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/asi-restriction-invalid-parenless-parameters-expression-body.js b/test/language/expressions/arrow-function/syntax/early-errors/asi-restriction-invalid-parenless-parameters-expression-body.js
new file mode 100644
index 0000000000000000000000000000000000000000..c3321ec5f1327312700c70c0c2df8ff040dea6eb
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/early-errors/asi-restriction-invalid-parenless-parameters-expression-body.js
@@ -0,0 +1,12 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2
+description: >
+    ArrowFunction[In, Yield] :
+      ArrowParameters[?Yield] [no LineTerminator here] => ConciseBody[?In]
+
+negative: SyntaxError
+---*/
+var af = x
+=> x;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/asi-restriction-invalid-parenless-parameters.js b/test/language/expressions/arrow-function/syntax/early-errors/asi-restriction-invalid-parenless-parameters.js
new file mode 100644
index 0000000000000000000000000000000000000000..27c3d9c70fb3e0f4b813116069abebc4ea4003f8
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/early-errors/asi-restriction-invalid-parenless-parameters.js
@@ -0,0 +1,14 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2
+description: >
+    ArrowFunction[In, Yield] :
+      ArrowParameters[?Yield] [no LineTerminator here] => ConciseBody[?In]
+
+    No parens around ArrowParameters
+
+negative: SyntaxError
+---*/
+var af = x
+=> {};
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/asi-restriction-invalid.js b/test/language/expressions/arrow-function/syntax/early-errors/asi-restriction-invalid.js
new file mode 100644
index 0000000000000000000000000000000000000000..e7bc0458a47a93bd1e834e1da1c89d3724d49c19
--- /dev/null
+++ b/test/language/expressions/arrow-function/syntax/early-errors/asi-restriction-invalid.js
@@ -0,0 +1,11 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 14.2
+description: >
+    ArrowFunction[In, Yield] :
+      ArrowParameters[?Yield] [no LineTerminator here] => ConciseBody[?In]
+negative: SyntaxError
+---*/
+var af = ()
+=> {};
diff --git a/test/language/arrow-function/Arrow-Function_syntax-variations.js b/test/language/expressions/arrow-function/syntax/variations.js
similarity index 100%
rename from test/language/arrow-function/Arrow-Function_syntax-variations.js
rename to test/language/expressions/arrow-function/syntax/variations.js
diff --git a/test/language/expressions/arrow-function/throw-new.js b/test/language/expressions/arrow-function/throw-new.js
new file mode 100644
index 0000000000000000000000000000000000000000..dfe3134efad7c1dfabd29207aae48167dd9e4807
--- /dev/null
+++ b/test/language/expressions/arrow-function/throw-new.js
@@ -0,0 +1,14 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 12.3.3.1.1
+description: >
+    Runtime Semantics: EvaluateNew(constructProduction, arguments)
+
+    ...
+    8. If IsConstructor (constructor) is false, throw a TypeError exception.
+    ...
+
+---*/
+
+assert.throws(TypeError, function() { new (() => {}); });
diff --git a/test/language/rest-parameters/arrow-function-invalid.js b/test/language/rest-parameters/arrow-function-invalid.js
deleted file mode 100644
index 4d226f24b522d76a1e60cc0d15da14bafca23898..0000000000000000000000000000000000000000
--- a/test/language/rest-parameters/arrow-function-invalid.js
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright (C) 2014 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-/*---
-es6id: 14.1
-description: >
-    Invalid rest parameter in arrow function parameters
-negative: SyntaxError
----*/
-var x = ...y => y;