diff --git a/test/language/expressions/async-arrow-function/async-lineterminator-identifier-throws.js b/test/language/expressions/async-arrow-function/async-lineterminator-identifier-throws.js
new file mode 100644
index 0000000000000000000000000000000000000000..0716b5d4c44ded6c54f0ebc7ed886eb36b7b7a21
--- /dev/null
+++ b/test/language/expressions/async-arrow-function/async-lineterminator-identifier-throws.js
@@ -0,0 +1,19 @@
+// Copyright (C) 2017 Mozilla Corporation. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: prod-AsyncArrowFunction
+description: >
+  async arrows cannot have a line terminator between "async" and the AsyncArrowBindingIdentifier
+info: |
+  14.7 Async Arrow Function Definitions
+
+  AsyncArrowFunction:
+    async [no LineTerminator here] AsyncArrowBindingIdentifier [no LineTerminator here] => AsyncConciseBody
+    [...]
+---*/
+
+assert.throws(ReferenceError, function() {
+  async
+  identifier => {}
+});
diff --git a/test/language/expressions/async-arrow-function/early-errors-arrow-formals-lineterminator.js b/test/language/expressions/async-arrow-function/early-errors-arrow-formals-lineterminator.js
new file mode 100644
index 0000000000000000000000000000000000000000..8794324b1e357ab9f413c321be8cd3431c7ff739
--- /dev/null
+++ b/test/language/expressions/async-arrow-function/early-errors-arrow-formals-lineterminator.js
@@ -0,0 +1,31 @@
+// Copyright (C) 2017 Mozilla Corporation. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: prod-AsyncArrowHead
+description: async arrows cannot have a line terminator between "async" and the formals
+info: |
+  14.7 Async Arrow Function Definitions
+
+  AsyncArrowFunction:
+    [...]
+    CoverCallExpressionAndAsyncArrowHead [no LineTerminator here] => AsyncConciseBody
+
+  Supplemental Syntax
+
+  When processing an instance of the production
+
+  AsyncArrowFunction:
+    CoverCallExpressionAndAsyncArrowHead [no LineTerminator here] => AsyncConciseBody
+
+  the interpretation of CoverCallExpressionAndAsyncArrowHead is refined using the following grammar:
+
+  AsyncArrowHead:
+    async [no LineTerminator here] ArrowFormalParameters
+negative:
+  phase: early
+  type: SyntaxError
+---*/
+
+async
+(foo) => { }
diff --git a/test/language/expressions/object/method-definition/early-errors-object-method-arguments-in-formal-parameters.js b/test/language/expressions/object/method-definition/early-errors-object-method-arguments-in-formal-parameters.js
index 4d67144a28f9b259705885b51acf4115de173e34..a7266b66b475f5fe2a097c1b2c66b20425f83cdf 100644
--- a/test/language/expressions/object/method-definition/early-errors-object-method-arguments-in-formal-parameters.js
+++ b/test/language/expressions/object/method-definition/early-errors-object-method-arguments-in-formal-parameters.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 flags: [onlyStrict]
 ---*/
-!{
+({
   async foo (arguments) { }
-}
+})
diff --git a/test/language/expressions/object/method-definition/early-errors-object-method-async-lineterminator.js b/test/language/expressions/object/method-definition/early-errors-object-method-async-lineterminator.js
new file mode 100644
index 0000000000000000000000000000000000000000..35d23cf6fc9227a3e66de3f89c78a1ff82a4487d
--- /dev/null
+++ b/test/language/expressions/object/method-definition/early-errors-object-method-async-lineterminator.js
@@ -0,0 +1,20 @@
+// Copyright (C) 2017 Mozilla Corporation. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: prod-AsyncMethod
+description: async methods cannot have a line terminator between "async" and the property name
+info: |
+  14.6 Async Function Definitions
+
+  AsyncMethod:
+    async [no LineTerminator here] PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody }
+negative:
+  phase: early
+  type: SyntaxError
+---*/
+
+({
+  async
+  foo() { }
+})
diff --git a/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals-default.js b/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals-default.js
index 8b6dc5ebff34f59cf652751fa1d9d9a27b19e6f4..256aeb536b16989fc96e62df57fe97b02584aaf9 100644
--- a/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals-default.js
+++ b/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals-default.js
@@ -9,7 +9,7 @@ negative:
   phase: early
   type: SyntaxError
 ---*/
-!{
+({
   async foo (x = await) {  }
-}
+})
 
diff --git a/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals.js b/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals.js
index c606a9a4499191a9d1a06ca66f0129b5c6313e3e..566c98f698586c6416452c9274e80dfd2d08a51b 100644
--- a/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals.js
+++ b/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals.js
@@ -9,6 +9,6 @@ negative:
   phase: early
   type: SyntaxError
 ---*/
-!{
+({
   async foo (await) {  }
-}
+})
diff --git a/test/language/expressions/object/method-definition/early-errors-object-method-body-contains-super-call.js b/test/language/expressions/object/method-definition/early-errors-object-method-body-contains-super-call.js
index 8f8852146ca894679feac6f0e41f63a7551a3ee2..9a226b56695f09a927479a7e46005c7b36b4bcb2 100644
--- a/test/language/expressions/object/method-definition/early-errors-object-method-body-contains-super-call.js
+++ b/test/language/expressions/object/method-definition/early-errors-object-method-body-contains-super-call.js
@@ -9,6 +9,6 @@ negative:
   phase: early
   type: SyntaxError
 ---*/
-!{
+({
   async foo () { super() }
-}
+})
diff --git a/test/language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js b/test/language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js
index aee8ea55e851fe800329bf82e8ee5d18d6db9335..0f135f62945848078e4932046cb50e2bdfa4aba7 100644
--- a/test/language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js
+++ b/test/language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js
@@ -10,6 +10,6 @@ negative:
   phase: early
   type: SyntaxError
 ---*/
-!{
+({
   async foo(a, a) { }
-}
+})
diff --git a/test/language/expressions/object/method-definition/early-errors-object-method-eval-in-formal-parameters.js b/test/language/expressions/object/method-definition/early-errors-object-method-eval-in-formal-parameters.js
index b80ee27ac1c8d0fe9cc98136bc311dcdaf843033..b1a0da9fa57a2bec147170b9b673629da5fd350f 100644
--- a/test/language/expressions/object/method-definition/early-errors-object-method-eval-in-formal-parameters.js
+++ b/test/language/expressions/object/method-definition/early-errors-object-method-eval-in-formal-parameters.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 flags: [onlyStrict]
 ---*/
-!{
+({
   async foo(eval) { }
-}
+})
diff --git a/test/language/expressions/object/method-definition/early-errors-object-method-formals-body-duplicate.js b/test/language/expressions/object/method-definition/early-errors-object-method-formals-body-duplicate.js
index 62bc0144e40c363a0d11edf4f12ec65dedcfc51c..a356280bde3ebf36e30e3ca43fc09d1cf65ab385 100644
--- a/test/language/expressions/object/method-definition/early-errors-object-method-formals-body-duplicate.js
+++ b/test/language/expressions/object/method-definition/early-errors-object-method-formals-body-duplicate.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-!{
+({
   async function foo(bar) { let bar; }
-}
+})
diff --git a/test/language/expressions/object/method-definition/early-errors-object-method-formals-contains-super-call.js b/test/language/expressions/object/method-definition/early-errors-object-method-formals-contains-super-call.js
index b3b50267ad22d004476121fec88a4faeaf2870cd..afc07f534704683520c54fbc085e50912332954a 100644
--- a/test/language/expressions/object/method-definition/early-errors-object-method-formals-contains-super-call.js
+++ b/test/language/expressions/object/method-definition/early-errors-object-method-formals-contains-super-call.js
@@ -9,6 +9,6 @@ negative:
   phase: early
   type: SyntaxError
 ---*/
-!{
+({
   async foo(foo = super()) { }
-}
+})