diff --git a/test/language/expressions/class/fields-asi-1.js b/test/language/expressions/class/fields-asi-1.js
new file mode 100644
index 0000000000000000000000000000000000000000..aed503ba6c54f5efb42f950ed1772256e9bffc1b
--- /dev/null
+++ b/test/language/expressions/class/fields-asi-1.js
@@ -0,0 +1,19 @@
+// Copyright (C) 2017 Valerie Young. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+description: ASI test in field declarations -- computed name interpreted as property
+esid: sec-automatic-semicolon-insertion
+features: [class-fields]
+---*/
+
+var obj = {}
+var C = class {
+  x = obj
+  ['lol'] = 42
+}
+
+var c = new C();
+
+assert.sameValue(c.x, 42)
+assert.sameValue(obj['lol'], 42);
diff --git a/test/language/expressions/class/fields-asi-2.js b/test/language/expressions/class/fields-asi-2.js
new file mode 100644
index 0000000000000000000000000000000000000000..bc153cd8ccf8fea3f2ba5e66ca31bf52889bd7d8
--- /dev/null
+++ b/test/language/expressions/class/fields-asi-2.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 Valerie Young. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+description: ASI test in field declarations -- computed name interpreted as string index
+esid: sec-automatic-semicolon-insertion
+features: [class-fields]
+---*/
+
+var C = class {
+  x = "lol"
+  [1]
+}
+
+var c = new C();
+
+assert.sameValue(c.x, 'o');
diff --git a/test/language/expressions/class/fields-asi-3.js b/test/language/expressions/class/fields-asi-3.js
new file mode 100644
index 0000000000000000000000000000000000000000..256a257d537ca334b5ae059ca391221fe0e96dc3
--- /dev/null
+++ b/test/language/expressions/class/fields-asi-3.js
@@ -0,0 +1,18 @@
+// Copyright (C) 2017 Valerie Young. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+description: ASI test in field declarations -- error when computed name interpreted as index
+esid: sec-automatic-semicolon-insertion
+features: [class-fields]
+negative:
+  phase: early
+  type: SyntaxError
+---*/
+
+throw "Test262: This statement should not be evaluated.";
+
+var C = class {
+  x = "string"
+  [0]() {}
+}
diff --git a/test/language/expressions/class/fields-asi-4.js b/test/language/expressions/class/fields-asi-4.js
new file mode 100644
index 0000000000000000000000000000000000000000..1e0edec7060a35bbb3e5fdbb167429d01955d929
--- /dev/null
+++ b/test/language/expressions/class/fields-asi-4.js
@@ -0,0 +1,18 @@
+// Copyright (C) 2017 Valerie Young. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+description: ASI test in field declarations -- error when generator interpreted as multiplication
+esid: sec-automatic-semicolon-insertion
+features: [class-fields]
+negative:
+  phase: early
+  type: SyntaxError
+---*/
+
+throw "Test262: This statement should not be evaluated.";
+
+var C = class {
+  x = 42
+  *gen() {}
+}
diff --git a/test/language/expressions/class/fields-asi-5.js b/test/language/expressions/class/fields-asi-5.js
new file mode 100644
index 0000000000000000000000000000000000000000..a57fd2bb9bf23cb2563281aff37e53d17340d924
--- /dev/null
+++ b/test/language/expressions/class/fields-asi-5.js
@@ -0,0 +1,28 @@
+// Copyright (C) 2017 Valerie Young. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+description: ASI test in field declarations -- field with PropertyName "in" interpreted as index
+esid: sec-automatic-semicolon-insertion
+features: [class-fields]
+---*/
+
+var x = 1
+var y = 2
+var z = [42]
+
+var C = class {
+  a = x
+  in
+  z
+  b = y
+  in
+  z
+}
+
+var c = new C();
+
+assert.sameValue(c.a, true, 'a = x in z')
+assert.sameValue(c.a, false, 'a = y in z')
+assert.sameValue(Object.hasOwnProperty.call(c, "in"), false, "'in' interpreted as index");
+assert.sameValue(Object.hasOwnProperty.call(c, "z"), false, "'z' interpreted as variable");
diff --git a/test/language/statements/class/fields-asi-1.js b/test/language/statements/class/fields-asi-1.js
new file mode 100644
index 0000000000000000000000000000000000000000..56a9dda58b0f12adb67d82ffb1031fb8739ade9c
--- /dev/null
+++ b/test/language/statements/class/fields-asi-1.js
@@ -0,0 +1,19 @@
+// Copyright (C) 2017 Valerie Young. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+description: ASI test in field declarations -- computed name interpreted as property
+esid: sec-automatic-semicolon-insertion
+features: [class-fields]
+---*/
+
+var obj = {}
+class C {
+  x = obj
+  ['lol'] = 42
+}
+
+var c = new C();
+
+assert.sameValue(c.x, 42);
+assert.sameValue(obj['lol'], 42);
diff --git a/test/language/statements/class/fields-asi-2.js b/test/language/statements/class/fields-asi-2.js
new file mode 100644
index 0000000000000000000000000000000000000000..70488e9e66c2b79426f0aa13017daf3471efd3ce
--- /dev/null
+++ b/test/language/statements/class/fields-asi-2.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 Valerie Young. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+description: ASI test in field declarations -- computed name interpreted as string index
+esid: sec-automatic-semicolon-insertion
+features: [class-fields]
+---*/
+
+class C {
+  x = "lol"
+  [1]
+}
+
+var c = new C();
+
+assert.sameValue(c.x, 'o');
diff --git a/test/language/statements/class/fields-asi-3.js b/test/language/statements/class/fields-asi-3.js
new file mode 100644
index 0000000000000000000000000000000000000000..42f49fd1e1d9dc0b1bfacca1e5a1c66d362815e2
--- /dev/null
+++ b/test/language/statements/class/fields-asi-3.js
@@ -0,0 +1,18 @@
+// Copyright (C) 2017 Valerie Young. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+description: ASI test in field declarations -- error when computed name interpreted as index
+esid: sec-automatic-semicolon-insertion
+features: [class-fields]
+negative:
+  phase: early
+  type: SyntaxError
+---*/
+
+throw "Test262: This statement should not be evaluated.";
+
+class C {
+  x = "string"
+  [0]() {}
+}
diff --git a/test/language/statements/class/fields-asi-4.js b/test/language/statements/class/fields-asi-4.js
new file mode 100644
index 0000000000000000000000000000000000000000..c1506f34f83afa665f0d1d69d3e47dbd28b449ef
--- /dev/null
+++ b/test/language/statements/class/fields-asi-4.js
@@ -0,0 +1,18 @@
+// Copyright (C) 2017 Valerie Young. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+description: ASI test in field declarations -- error when generator interpreted as multiplication
+esid: sec-automatic-semicolon-insertion
+features: [class-fields]
+negative:
+  phase: early
+  type: SyntaxError
+---*/
+
+throw "Test262: This statement should not be evaluated.";
+
+class C {
+  x = 42
+  *gen() {}
+}
diff --git a/test/language/statements/class/fields-asi-5.js b/test/language/statements/class/fields-asi-5.js
new file mode 100644
index 0000000000000000000000000000000000000000..86bc18f882f6379f9ce3d70cd5ddcd0ef8c0f227
--- /dev/null
+++ b/test/language/statements/class/fields-asi-5.js
@@ -0,0 +1,27 @@
+// Copyright (C) 2017 Valerie Young. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+description: ASI test in field declarations -- field with PropertyName "in" interpreted as index
+esid: sec-automatic-semicolon-insertion
+features: [class-fields]
+---*/
+
+var x = 1
+var y = 2
+var z = [42]
+
+class C {
+  a = x
+  in
+  z
+  b = y
+  in
+  z
+}
+
+var c = new C();
+assert.sameValue(c.a, true, 'a = x in z')
+assert.sameValue(c.a, false, 'a = y in z')
+assert.sameValue(Object.hasOwnProperty.call(c, "in"), false, "'in' interpreted as index");
+assert.sameValue(Object.hasOwnProperty.call(c, "z"), false, "'z' interpreted as variable");