From 053d63fd0dde4ec380f72fa74ca4c5a9f87fdc31 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Bargull?= <andre.bargull@gmail.com>
Date: Tue, 2 May 2017 12:09:21 -0700
Subject: [PATCH] Rename and consolidate tests in future-reserved-words
 directory

---
 .../future-reserved-words/7.6.1-17-s.js       | 15 ------------
 .../future-reserved-words/7.6.1-18-s.js       | 15 ------------
 .../future-reserved-words/7.6.1-19-s.js       | 15 ------------
 .../future-reserved-words/7.6.1-20-s.js       | 15 ------------
 .../future-reserved-words/7.6.1-21-s.js       | 15 ------------
 .../future-reserved-words/7.6.1-22-s.js       | 15 ------------
 .../future-reserved-words/7.6.1-23-s.js       | 15 ------------
 .../future-reserved-words/7.6.1-24-s.js       | 16 -------------
 .../future-reserved-words/7.6.1-25-s.js       | 15 ------------
 .../future-reserved-words/7.6.1.2-1-s.js      | 15 ------------
 .../future-reserved-words/7.6.1.2-2-s.js      | 15 ------------
 .../future-reserved-words/7.6.1.2-3-s.js      | 15 ------------
 .../future-reserved-words/7.6.1.2-4-s.js      | 15 ------------
 .../future-reserved-words/7.6.1.2-5-s.js      | 15 ------------
 .../future-reserved-words/7.6.1.2-6-s.js      | 15 ------------
 .../future-reserved-words/7.6.1.2-7-s.js      | 15 ------------
 .../future-reserved-words/7.6.1.2-8-s.js      | 15 ------------
 .../future-reserved-words/7.6.1.2-9-s.js      | 15 ------------
 .../future-reserved-words/S7.6.1.2_A1.15.js   | 14 -----------
 .../future-reserved-words/S7.6.1.2_A1.18.js   | 14 -----------
 .../future-reserved-words/S7.6.1.2_A1.21.js   | 14 -----------
 .../future-reserved-words/S7.6.1.2_A1.22.js   | 14 -----------
 .../future-reserved-words/S7.6.1.2_A1.23.js   | 14 -----------
 .../future-reserved-words/S7.6.1.2_A1.24.js   | 14 -----------
 .../future-reserved-words/S7.6.1.2_A1.26.js   | 14 -----------
 .../{7.6.1.2-16-s.js => _implements.js}       |  2 +-
 .../{S7.6.1.2_A1.1.js => abstract.js}         |  4 +++-
 .../{S7.6.1.2_A1.2.js => boolean.js}          |  4 +++-
 .../{S7.6.1.2_A1.3.js => byte.js}             |  4 +++-
 .../{S7.6.1.2_A1.4.js => char.js}             |  4 +++-
 .../{S7.6.1.2_A1.5.js => class.js}            |  7 +++++-
 .../{S7.6.1.2_A1.6.js => const.js}            |  7 +++++-
 .../{S7.6.1.2_A1.7.js => debugger.js}         |  7 +++++-
 .../{S7.6.1.2_A1.8.js => double.js}           |  4 +++-
 .../{S7.6.1.2_A1.9.js => enum.js}             |  7 +++++-
 .../{S7.6.1.2_A1.10.js => export.js}          |  7 +++++-
 .../{S7.6.1.2_A1.11.js => extends.js}         |  7 +++++-
 .../{S7.6.1.2_A1.12.js => final.js}           |  4 +++-
 .../{S7.6.1.2_A1.13.js => float.js}           |  4 +++-
 .../{S7.6.1.2_A1.14.js => goto.js}            |  4 +++-
 .../{7.6.1.2-12-s.js => implement.js}         |  2 +-
 .../implements-strict-escaped.js              | 22 ++++++++++++++++++
 .../implements-strict.js                      | 21 +++++++++++++++++
 ....6.1.2-11-s.js => implements-titlecase.js} |  2 +-
 ....6.1.2-10-s.js => implements-uppercase.js} |  2 +-
 .../{S7.6.1.2_A1.15ns.js => implements.js}    |  0
 .../{7.6.1.2-14-s.js => implements0.js}       |  2 +-
 .../{7.6.1.2-13-s.js => implementss.js}       |  2 +-
 .../{S7.6.1.2_A1.16.js => import.js}          |  7 +++++-
 .../{S7.6.1.2_A1.17.js => int.js}             |  4 +++-
 .../interface-strict-escaped.js               | 22 ++++++++++++++++++
 .../future-reserved-words/interface-strict.js | 21 +++++++++++++++++
 .../{S7.6.1.2_A1.18ns.js => interface.js}     |  0
 .../let-strict-escaped.js                     | 22 ++++++++++++++++++
 .../future-reserved-words/let-strict.js       | 21 +++++++++++++++++
 .../{S7.6.1.2_A1.19.js => long.js}            |  4 +++-
 .../{S7.6.1.2_A1.20.js => native.js}          |  4 +++-
 .../package-strict-escaped.js                 | 22 ++++++++++++++++++
 .../future-reserved-words/package-strict.js   | 21 +++++++++++++++++
 .../{S7.6.1.2_A1.21ns.js => package.js}       |  0
 .../private-strict-escaped.js                 | 22 ++++++++++++++++++
 .../future-reserved-words/private-strict.js   | 21 +++++++++++++++++
 .../{S7.6.1.2_A1.22ns.js => private.js}       |  0
 .../protected-strict-escaped.js               | 23 +++++++++++++++++++
 .../future-reserved-words/protected-strict.js | 21 +++++++++++++++++
 .../{S7.6.1.2_A1.23ns.js => protected.js}     |  0
 .../public-strict-escaped.js                  | 22 ++++++++++++++++++
 .../future-reserved-words/public-strict.js    | 21 +++++++++++++++++
 .../{S7.6.1.2_A1.24ns.js => public.js}        |  0
 .../{S7.6.1.2_A1.25.js => short.js}           |  4 +++-
 .../static-strict-escaped.js                  | 22 ++++++++++++++++++
 .../future-reserved-words/static-strict.js    | 21 +++++++++++++++++
 .../{S7.6.1.2_A1.26ns.js => static.js}        |  0
 .../{S7.6.1.2_A1.27.js => super.js}           |  7 +++++-
 .../{S7.6.1.2_A1.28.js => synchronized.js}    |  4 +++-
 .../{S7.6.1.2_A1.29.js => throws.js}          |  4 +++-
 .../{S7.6.1.2_A1.30.js => transient.js}       |  4 +++-
 .../{S7.6.1.2_A1.31.js => volatile.js}        |  4 +++-
 .../yield-strict-escaped.js                   | 22 ++++++++++++++++++
 .../future-reserved-words/yield-strict.js     | 20 ++++++++++++++++
 80 files changed, 489 insertions(+), 399 deletions(-)
 delete mode 100644 test/language/future-reserved-words/7.6.1-17-s.js
 delete mode 100644 test/language/future-reserved-words/7.6.1-18-s.js
 delete mode 100644 test/language/future-reserved-words/7.6.1-19-s.js
 delete mode 100644 test/language/future-reserved-words/7.6.1-20-s.js
 delete mode 100644 test/language/future-reserved-words/7.6.1-21-s.js
 delete mode 100644 test/language/future-reserved-words/7.6.1-22-s.js
 delete mode 100644 test/language/future-reserved-words/7.6.1-23-s.js
 delete mode 100644 test/language/future-reserved-words/7.6.1-24-s.js
 delete mode 100644 test/language/future-reserved-words/7.6.1-25-s.js
 delete mode 100644 test/language/future-reserved-words/7.6.1.2-1-s.js
 delete mode 100644 test/language/future-reserved-words/7.6.1.2-2-s.js
 delete mode 100644 test/language/future-reserved-words/7.6.1.2-3-s.js
 delete mode 100644 test/language/future-reserved-words/7.6.1.2-4-s.js
 delete mode 100644 test/language/future-reserved-words/7.6.1.2-5-s.js
 delete mode 100644 test/language/future-reserved-words/7.6.1.2-6-s.js
 delete mode 100644 test/language/future-reserved-words/7.6.1.2-7-s.js
 delete mode 100644 test/language/future-reserved-words/7.6.1.2-8-s.js
 delete mode 100644 test/language/future-reserved-words/7.6.1.2-9-s.js
 delete mode 100644 test/language/future-reserved-words/S7.6.1.2_A1.15.js
 delete mode 100644 test/language/future-reserved-words/S7.6.1.2_A1.18.js
 delete mode 100644 test/language/future-reserved-words/S7.6.1.2_A1.21.js
 delete mode 100644 test/language/future-reserved-words/S7.6.1.2_A1.22.js
 delete mode 100644 test/language/future-reserved-words/S7.6.1.2_A1.23.js
 delete mode 100644 test/language/future-reserved-words/S7.6.1.2_A1.24.js
 delete mode 100644 test/language/future-reserved-words/S7.6.1.2_A1.26.js
 rename test/language/future-reserved-words/{7.6.1.2-16-s.js => _implements.js} (90%)
 rename test/language/future-reserved-words/{S7.6.1.2_A1.1.js => abstract.js} (66%)
 rename test/language/future-reserved-words/{S7.6.1.2_A1.2.js => boolean.js} (66%)
 rename test/language/future-reserved-words/{S7.6.1.2_A1.3.js => byte.js} (66%)
 rename test/language/future-reserved-words/{S7.6.1.2_A1.4.js => char.js} (66%)
 rename test/language/future-reserved-words/{S7.6.1.2_A1.5.js => class.js} (51%)
 rename test/language/future-reserved-words/{S7.6.1.2_A1.6.js => const.js} (51%)
 rename test/language/future-reserved-words/{S7.6.1.2_A1.7.js => debugger.js} (51%)
 rename test/language/future-reserved-words/{S7.6.1.2_A1.8.js => double.js} (66%)
 rename test/language/future-reserved-words/{S7.6.1.2_A1.9.js => enum.js} (50%)
 rename test/language/future-reserved-words/{S7.6.1.2_A1.10.js => export.js} (51%)
 rename test/language/future-reserved-words/{S7.6.1.2_A1.11.js => extends.js} (51%)
 rename test/language/future-reserved-words/{S7.6.1.2_A1.12.js => final.js} (66%)
 rename test/language/future-reserved-words/{S7.6.1.2_A1.13.js => float.js} (66%)
 rename test/language/future-reserved-words/{S7.6.1.2_A1.14.js => goto.js} (66%)
 rename test/language/future-reserved-words/{7.6.1.2-12-s.js => implement.js} (90%)
 create mode 100644 test/language/future-reserved-words/implements-strict-escaped.js
 create mode 100644 test/language/future-reserved-words/implements-strict.js
 rename test/language/future-reserved-words/{7.6.1.2-11-s.js => implements-titlecase.js} (90%)
 rename test/language/future-reserved-words/{7.6.1.2-10-s.js => implements-uppercase.js} (90%)
 rename test/language/future-reserved-words/{S7.6.1.2_A1.15ns.js => implements.js} (100%)
 rename test/language/future-reserved-words/{7.6.1.2-14-s.js => implements0.js} (90%)
 rename test/language/future-reserved-words/{7.6.1.2-13-s.js => implementss.js} (90%)
 rename test/language/future-reserved-words/{S7.6.1.2_A1.16.js => import.js} (51%)
 rename test/language/future-reserved-words/{S7.6.1.2_A1.17.js => int.js} (66%)
 create mode 100644 test/language/future-reserved-words/interface-strict-escaped.js
 create mode 100644 test/language/future-reserved-words/interface-strict.js
 rename test/language/future-reserved-words/{S7.6.1.2_A1.18ns.js => interface.js} (100%)
 create mode 100644 test/language/future-reserved-words/let-strict-escaped.js
 create mode 100644 test/language/future-reserved-words/let-strict.js
 rename test/language/future-reserved-words/{S7.6.1.2_A1.19.js => long.js} (66%)
 rename test/language/future-reserved-words/{S7.6.1.2_A1.20.js => native.js} (66%)
 create mode 100644 test/language/future-reserved-words/package-strict-escaped.js
 create mode 100644 test/language/future-reserved-words/package-strict.js
 rename test/language/future-reserved-words/{S7.6.1.2_A1.21ns.js => package.js} (100%)
 create mode 100644 test/language/future-reserved-words/private-strict-escaped.js
 create mode 100644 test/language/future-reserved-words/private-strict.js
 rename test/language/future-reserved-words/{S7.6.1.2_A1.22ns.js => private.js} (100%)
 create mode 100644 test/language/future-reserved-words/protected-strict-escaped.js
 create mode 100644 test/language/future-reserved-words/protected-strict.js
 rename test/language/future-reserved-words/{S7.6.1.2_A1.23ns.js => protected.js} (100%)
 create mode 100644 test/language/future-reserved-words/public-strict-escaped.js
 create mode 100644 test/language/future-reserved-words/public-strict.js
 rename test/language/future-reserved-words/{S7.6.1.2_A1.24ns.js => public.js} (100%)
 rename test/language/future-reserved-words/{S7.6.1.2_A1.25.js => short.js} (66%)
 create mode 100644 test/language/future-reserved-words/static-strict-escaped.js
 create mode 100644 test/language/future-reserved-words/static-strict.js
 rename test/language/future-reserved-words/{S7.6.1.2_A1.26ns.js => static.js} (100%)
 rename test/language/future-reserved-words/{S7.6.1.2_A1.27.js => super.js} (51%)
 rename test/language/future-reserved-words/{S7.6.1.2_A1.28.js => synchronized.js} (66%)
 rename test/language/future-reserved-words/{S7.6.1.2_A1.29.js => throws.js} (66%)
 rename test/language/future-reserved-words/{S7.6.1.2_A1.30.js => transient.js} (66%)
 rename test/language/future-reserved-words/{S7.6.1.2_A1.31.js => volatile.js} (66%)
 create mode 100644 test/language/future-reserved-words/yield-strict-escaped.js
 create mode 100644 test/language/future-reserved-words/yield-strict.js

diff --git a/test/language/future-reserved-words/7.6.1-17-s.js b/test/language/future-reserved-words/7.6.1-17-s.js
deleted file mode 100644
index 114a6beca9..0000000000
--- a/test/language/future-reserved-words/7.6.1-17-s.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) 2012 Ecma International.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-es5id: 7.6.1-17-s
-description: >
-    7.6 - SyntaxError expected: reserved words used as Identifier
-    Names in UTF8: implements (implements)
-flags: [onlyStrict]
----*/
-
-
-assert.throws(SyntaxError, function() {
-            eval("var \u0069mplements = 123;");
-});
diff --git a/test/language/future-reserved-words/7.6.1-18-s.js b/test/language/future-reserved-words/7.6.1-18-s.js
deleted file mode 100644
index 0512a03ad9..0000000000
--- a/test/language/future-reserved-words/7.6.1-18-s.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) 2012 Ecma International.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-es5id: 7.6.1-18-s
-description: >
-    7.6 - SyntaxError expected: reserved words used as Identifier
-    Names in UTF8: l\u0065t (let)
-flags: [onlyStrict]
----*/
-
-        
-assert.throws(SyntaxError, function() {
-            eval("var l\u0065t = 123;");
-});
diff --git a/test/language/future-reserved-words/7.6.1-19-s.js b/test/language/future-reserved-words/7.6.1-19-s.js
deleted file mode 100644
index c3c33f5503..0000000000
--- a/test/language/future-reserved-words/7.6.1-19-s.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) 2012 Ecma International.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-es5id: 7.6.1-19-s
-description: >
-    7.6 - SyntaxError expected: reserved words used as Identifier
-    Names in UTF8: privat\u0065 (private)
-flags: [onlyStrict]
----*/
-
-
-assert.throws(SyntaxError, function() {
-            eval("var privat\u0065 = 123;");
-});
diff --git a/test/language/future-reserved-words/7.6.1-20-s.js b/test/language/future-reserved-words/7.6.1-20-s.js
deleted file mode 100644
index e0b1db3653..0000000000
--- a/test/language/future-reserved-words/7.6.1-20-s.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) 2012 Ecma International.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-es5id: 7.6.1-20-s
-description: >
-    7.6 - SyntaxError expected: reserved words used as Identifier
-    Names in UTF8: \u0070\u0075\u0062\u006c\u0069\u0063 (public)
-flags: [onlyStrict]
----*/
-
-
-assert.throws(SyntaxError, function() {
-            eval("var \u0070\u0075\u0062\u006c\u0069\u0063 = 123;");
-});
diff --git a/test/language/future-reserved-words/7.6.1-21-s.js b/test/language/future-reserved-words/7.6.1-21-s.js
deleted file mode 100644
index c37c35c1a0..0000000000
--- a/test/language/future-reserved-words/7.6.1-21-s.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) 2012 Ecma International.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-es5id: 7.6.1-21-s
-description: >
-    7.6 - SyntaxError expected: reserved words used as Identifier
-    Names in UTF8: \u0079ield (yield)
-flags: [onlyStrict]
----*/
-
-
-assert.throws(SyntaxError, function() {
-            eval("var \u0079ield = 123;");
-});
diff --git a/test/language/future-reserved-words/7.6.1-22-s.js b/test/language/future-reserved-words/7.6.1-22-s.js
deleted file mode 100644
index 0bca6b3f5d..0000000000
--- a/test/language/future-reserved-words/7.6.1-22-s.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) 2012 Ecma International.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-es5id: 7.6.1-22-s
-description: >
-    7.6 - SyntaxError expected: reserved words used as Identifier
-    Names in UTF8: inte\u0072face (interface)
-flags: [onlyStrict]
----*/
-
-
-assert.throws(SyntaxError, function() {
-            eval("var inte\u0072face = 123;");
-});
diff --git a/test/language/future-reserved-words/7.6.1-23-s.js b/test/language/future-reserved-words/7.6.1-23-s.js
deleted file mode 100644
index 72ecb0c481..0000000000
--- a/test/language/future-reserved-words/7.6.1-23-s.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) 2012 Ecma International.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-es5id: 7.6.1-23-s
-description: >
-    7.6 - SyntaxError expected: reserved words used as Identifier
-    Names in UTF8: packag\u0065 (package)
-flags: [onlyStrict]
----*/
-
-
-assert.throws(SyntaxError, function() {
-            eval("var packag\u0065 = 123;");
-});
diff --git a/test/language/future-reserved-words/7.6.1-24-s.js b/test/language/future-reserved-words/7.6.1-24-s.js
deleted file mode 100644
index d422e14b7b..0000000000
--- a/test/language/future-reserved-words/7.6.1-24-s.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright (c) 2012 Ecma International.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-es5id: 7.6.1-24-s
-description: >
-    7.6 - SyntaxError expected: reserved words used as Identifier
-    Names in UTF8:
-    \u0070\u0072\u006f\u0074\u0065\u0063\u0074\u0065\u0064 (protected)
-flags: [onlyStrict]
----*/
-
-
-assert.throws(SyntaxError, function() {
-            eval("var \u0070\u0072\u006f\u0074\u0065\u0063\u0074\u0065\u0064 = 123;");
-});
diff --git a/test/language/future-reserved-words/7.6.1-25-s.js b/test/language/future-reserved-words/7.6.1-25-s.js
deleted file mode 100644
index 47efc0d07c..0000000000
--- a/test/language/future-reserved-words/7.6.1-25-s.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) 2012 Ecma International.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-es5id: 7.6.1-25-s
-description: >
-    7.6 - SyntaxError expected: reserved words used as Identifier
-    Names in UTF8: \u0073\u0074\u0061\u0074\u0069\u0063 (static)
-flags: [onlyStrict]
----*/
-
-
-assert.throws(SyntaxError, function() {
-            eval("var \u0073\u0074\u0061\u0074\u0069\u0063 = 123;");
-});
diff --git a/test/language/future-reserved-words/7.6.1.2-1-s.js b/test/language/future-reserved-words/7.6.1.2-1-s.js
deleted file mode 100644
index 85f9b58b5d..0000000000
--- a/test/language/future-reserved-words/7.6.1.2-1-s.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) 2012 Ecma International.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-es5id: 7.6.1.2-1-s
-description: >
-    Strict Mode - SyntaxError is thrown when FutureReservedWord
-    'implements' occurs in strict mode code
-flags: [onlyStrict]
----*/
-
-
-assert.throws(SyntaxError, function() {
-            eval("var implements = 1;");
-});
diff --git a/test/language/future-reserved-words/7.6.1.2-2-s.js b/test/language/future-reserved-words/7.6.1.2-2-s.js
deleted file mode 100644
index 0c2ac187ac..0000000000
--- a/test/language/future-reserved-words/7.6.1.2-2-s.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) 2012 Ecma International.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-es5id: 7.6.1.2-2-s
-description: >
-    Strict Mode - SyntaxError is thrown when FutureReservedWord 'let'
-    occurs in strict mode code
-flags: [onlyStrict]
----*/
-
-
-assert.throws(SyntaxError, function() {
-            eval("var let = 1;");
-});
diff --git a/test/language/future-reserved-words/7.6.1.2-3-s.js b/test/language/future-reserved-words/7.6.1.2-3-s.js
deleted file mode 100644
index 27c338641a..0000000000
--- a/test/language/future-reserved-words/7.6.1.2-3-s.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) 2012 Ecma International.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-es5id: 7.6.1.2-3-s
-description: >
-    Strict Mode - SyntaxError is thrown when FutureReservedWord
-    'private' occurs in strict mode code
-flags: [onlyStrict]
----*/
-
-
-assert.throws(SyntaxError, function() {
-            eval("var private = 1;");
-});
diff --git a/test/language/future-reserved-words/7.6.1.2-4-s.js b/test/language/future-reserved-words/7.6.1.2-4-s.js
deleted file mode 100644
index b215af858c..0000000000
--- a/test/language/future-reserved-words/7.6.1.2-4-s.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) 2012 Ecma International.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-es5id: 7.6.1.2-4-s
-description: >
-    Strict Mode - SyntaxError is thrown when FutureReservedWord
-    'public' occurs in strict mode code
-flags: [onlyStrict]
----*/
-
-
-assert.throws(SyntaxError, function() {
-            eval("var public = 1;");
-});
diff --git a/test/language/future-reserved-words/7.6.1.2-5-s.js b/test/language/future-reserved-words/7.6.1.2-5-s.js
deleted file mode 100644
index aa2d106b46..0000000000
--- a/test/language/future-reserved-words/7.6.1.2-5-s.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) 2012 Ecma International.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-es5id: 7.6.1.2-5-s
-description: >
-    Strict Mode - SyntaxError is thrown when FutureReservedWord
-    'yield' occurs in strict mode code
-flags: [onlyStrict]
----*/
-
-
-assert.throws(SyntaxError, function() {
-            eval("var yield = 1;")
-});
diff --git a/test/language/future-reserved-words/7.6.1.2-6-s.js b/test/language/future-reserved-words/7.6.1.2-6-s.js
deleted file mode 100644
index 01c84246e0..0000000000
--- a/test/language/future-reserved-words/7.6.1.2-6-s.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) 2012 Ecma International.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-es5id: 7.6.1.2-6-s
-description: >
-    Strict Mode - SyntaxError is thrown when FutureReservedWord
-    'interface' occurs in strict mode code
-flags: [onlyStrict]
----*/
-
-
-assert.throws(SyntaxError, function() {
-            eval("var interface = 1;")
-});
diff --git a/test/language/future-reserved-words/7.6.1.2-7-s.js b/test/language/future-reserved-words/7.6.1.2-7-s.js
deleted file mode 100644
index f074d35420..0000000000
--- a/test/language/future-reserved-words/7.6.1.2-7-s.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) 2012 Ecma International.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-es5id: 7.6.1.2-7-s
-description: >
-    Strict Mode - SyntaxError is thrown when FutureReservedWord
-    'package' occurs in strict mode code
-flags: [onlyStrict]
----*/
-
-
-assert.throws(SyntaxError, function() {
-            eval("var package = 1;");
-});
diff --git a/test/language/future-reserved-words/7.6.1.2-8-s.js b/test/language/future-reserved-words/7.6.1.2-8-s.js
deleted file mode 100644
index 6e08bd214a..0000000000
--- a/test/language/future-reserved-words/7.6.1.2-8-s.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) 2012 Ecma International.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-es5id: 7.6.1.2-8-s
-description: >
-    Strict Mode - SyntaxError is thrown when FutureReservedWord
-    'protected' occurs in strict mode code
-flags: [onlyStrict]
----*/
-
-
-assert.throws(SyntaxError, function() {
-            eval("var protected = 1;");
-});
diff --git a/test/language/future-reserved-words/7.6.1.2-9-s.js b/test/language/future-reserved-words/7.6.1.2-9-s.js
deleted file mode 100644
index 0354bd57d8..0000000000
--- a/test/language/future-reserved-words/7.6.1.2-9-s.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) 2012 Ecma International.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-es5id: 7.6.1.2-9-s
-description: >
-    Strict Mode - SyntaxError is thrown when FutureReservedWord
-    'static' occurs in strict mode code
-flags: [onlyStrict]
----*/
-
-
-assert.throws(SyntaxError, function() {
-            eval("var static = 1;");
-});
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.15.js b/test/language/future-reserved-words/S7.6.1.2_A1.15.js
deleted file mode 100644
index 7c0fce200f..0000000000
--- a/test/language/future-reserved-words/S7.6.1.2_A1.15.js
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: The "implements" token can not be used as identifier in strict code
-es5id: 7.6.1.2_A1.15
-description: Checking if execution of "implements=1" fails in strict code
-negative:
-  phase: early
-  type: SyntaxError
-flags: [onlyStrict]
----*/
-
-var implements = 1;
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.18.js b/test/language/future-reserved-words/S7.6.1.2_A1.18.js
deleted file mode 100644
index c9d8876440..0000000000
--- a/test/language/future-reserved-words/S7.6.1.2_A1.18.js
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: The "interface" token can not be used as identifier in strict code
-es5id: 7.6.1.2_A1.18
-description: Checking if execution of "interface = 1" fails in  strict code
-negative:
-  phase: early
-  type: SyntaxError
-flags: [onlyStrict]
----*/
-
-var interface = 1;
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.21.js b/test/language/future-reserved-words/S7.6.1.2_A1.21.js
deleted file mode 100644
index deacbfd3aa..0000000000
--- a/test/language/future-reserved-words/S7.6.1.2_A1.21.js
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: The "package" token can not be used as identifier in strict code
-es5id: 7.6.1.2_A1.21
-description: Checking if execution of "package=1" fails in strict code
-negative:
-  phase: early
-  type: SyntaxError
-flags: [onlyStrict]
----*/
-
-var package = 1;
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.22.js b/test/language/future-reserved-words/S7.6.1.2_A1.22.js
deleted file mode 100644
index 0a7ed7f81e..0000000000
--- a/test/language/future-reserved-words/S7.6.1.2_A1.22.js
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: The "private" token can not be used as identifier in strict code
-es5id: 7.6.1.2_A1.22
-description: Checking if execution of "private=1" fails in strict code
-negative:
-  phase: early
-  type: SyntaxError
-flags: [onlyStrict]
----*/
-
-var private = 1;
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.23.js b/test/language/future-reserved-words/S7.6.1.2_A1.23.js
deleted file mode 100644
index 092bf67e34..0000000000
--- a/test/language/future-reserved-words/S7.6.1.2_A1.23.js
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: The "protected" token can not be used as identifier in strict code
-es5id: 7.6.1.2_A1.23
-description: Checking if execution of "protected=1" fails in  strict code
-negative:
-  phase: early
-  type: SyntaxError
-flags: [onlyStrict]
----*/
-
-var protected = 1;
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.24.js b/test/language/future-reserved-words/S7.6.1.2_A1.24.js
deleted file mode 100644
index abd88425bc..0000000000
--- a/test/language/future-reserved-words/S7.6.1.2_A1.24.js
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: The "public" token can not be used as identifier in strict code
-es5id: 7.6.1.2_A1.24
-description: Checking if execution of "public=1" fails in strict code
-negative:
-  phase: early
-  type: SyntaxError
-flags: [onlyStrict]
----*/
-
-var public = 1;
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.26.js b/test/language/future-reserved-words/S7.6.1.2_A1.26.js
deleted file mode 100644
index b765345a92..0000000000
--- a/test/language/future-reserved-words/S7.6.1.2_A1.26.js
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: The "static" token can not be used as identifier in strict code
-es5id: 7.6.1.2_A1.26
-description: Checking if execution of "static=1" fails in strict code
-negative:
-  phase: early
-  type: SyntaxError
-flags: [onlyStrict]
----*/
-
-var static = 1;
diff --git a/test/language/future-reserved-words/7.6.1.2-16-s.js b/test/language/future-reserved-words/_implements.js
similarity index 90%
rename from test/language/future-reserved-words/7.6.1.2-16-s.js
rename to test/language/future-reserved-words/_implements.js
index 284fd5dca9..f8586032fe 100644
--- a/test/language/future-reserved-words/7.6.1.2-16-s.js
+++ b/test/language/future-reserved-words/_implements.js
@@ -7,6 +7,6 @@ description: >
     SyntaxError isn't thrown when '_implements' occurs
 ---*/
 
-        var _implements = 1;
+var _implements = 1;
 
 assert.sameValue(_implements, 1, '_implements');
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.1.js b/test/language/future-reserved-words/abstract.js
similarity index 66%
rename from test/language/future-reserved-words/S7.6.1.2_A1.1.js
rename to test/language/future-reserved-words/abstract.js
index 8e7406158a..627d06b596 100644
--- a/test/language/future-reserved-words/S7.6.1.2_A1.1.js
+++ b/test/language/future-reserved-words/abstract.js
@@ -2,9 +2,11 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-info: The "abstract" token can be used as identifier
+esid: sec-future-reserved-words
 es5id: 7.6.1.2_A1.1
 description: Checking if execution of "abstract=1" succeeds
+info: >
+  `abstract` was removed from the list of future reserved words in ECMAScript 5.
 ---*/
 
 var abstract = 1;
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.2.js b/test/language/future-reserved-words/boolean.js
similarity index 66%
rename from test/language/future-reserved-words/S7.6.1.2_A1.2.js
rename to test/language/future-reserved-words/boolean.js
index 14ece48fe3..715c5974ef 100644
--- a/test/language/future-reserved-words/S7.6.1.2_A1.2.js
+++ b/test/language/future-reserved-words/boolean.js
@@ -2,9 +2,11 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-info: The "boolean" token can be used as identifier
+esid: sec-future-reserved-words
 es5id: 7.6.1.2_A1.2
 description: Checking if execution of "boolean=1" succeeds
+info: >
+  `boolean` was removed from the list of future reserved words in ECMAScript 5.
 ---*/
 
 var boolean = 1;
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.3.js b/test/language/future-reserved-words/byte.js
similarity index 66%
rename from test/language/future-reserved-words/S7.6.1.2_A1.3.js
rename to test/language/future-reserved-words/byte.js
index 8b39c2b5a6..55f12c0750 100644
--- a/test/language/future-reserved-words/S7.6.1.2_A1.3.js
+++ b/test/language/future-reserved-words/byte.js
@@ -2,9 +2,11 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-info: The "byte" token can be used as identifier
+esid: sec-future-reserved-words
 es5id: 7.6.1.2_A1.3
 description: Checking if execution of "byte=1" succeeds
+info: >
+  `byte` was removed from the list of future reserved words in ECMAScript 5.
 ---*/
 
 var byte = 1;
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.4.js b/test/language/future-reserved-words/char.js
similarity index 66%
rename from test/language/future-reserved-words/S7.6.1.2_A1.4.js
rename to test/language/future-reserved-words/char.js
index 48ae03a5a6..14515dc200 100644
--- a/test/language/future-reserved-words/S7.6.1.2_A1.4.js
+++ b/test/language/future-reserved-words/char.js
@@ -2,9 +2,11 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-info: The "char" token can be used as identifier
+esid: sec-future-reserved-words
 es5id: 7.6.1.2_A1.4
 description: Checking if execution of "char=1" succeeds
+info: >
+  `char` was removed from the list of future reserved words in ECMAScript 5.
 ---*/
 
 var char = 1;
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.5.js b/test/language/future-reserved-words/class.js
similarity index 51%
rename from test/language/future-reserved-words/S7.6.1.2_A1.5.js
rename to test/language/future-reserved-words/class.js
index 72ab227e80..bb1eba40d0 100644
--- a/test/language/future-reserved-words/S7.6.1.2_A1.5.js
+++ b/test/language/future-reserved-words/class.js
@@ -2,9 +2,14 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-info: The "class" token can not be used as identifier
+esid: sec-identifiers-static-semantics-early-errors
 es5id: 7.6.1.2_A1.5
 description: Checking if execution of "class=1" fails
+info: |
+    Identifier : IdentifierName but not ReservedWord
+
+    It is a Syntax Error if StringValue of IdentifierName is the same String
+    value as the StringValue of any ReservedWord except for yield and await.
 negative:
   phase: early
   type: SyntaxError
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.6.js b/test/language/future-reserved-words/const.js
similarity index 51%
rename from test/language/future-reserved-words/S7.6.1.2_A1.6.js
rename to test/language/future-reserved-words/const.js
index cf176bbb88..ea96279dc7 100644
--- a/test/language/future-reserved-words/S7.6.1.2_A1.6.js
+++ b/test/language/future-reserved-words/const.js
@@ -2,9 +2,14 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-info: The "const" token can not be used as identifier
+esid: sec-identifiers-static-semantics-early-errors
 es5id: 7.6.1.2_A1.6
 description: Checking if execution of "const=1" fails
+info: |
+    Identifier : IdentifierName but not ReservedWord
+
+    It is a Syntax Error if StringValue of IdentifierName is the same String
+    value as the StringValue of any ReservedWord except for yield and await.
 negative:
   phase: early
   type: SyntaxError
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.7.js b/test/language/future-reserved-words/debugger.js
similarity index 51%
rename from test/language/future-reserved-words/S7.6.1.2_A1.7.js
rename to test/language/future-reserved-words/debugger.js
index eae9074d56..b948ac4daf 100644
--- a/test/language/future-reserved-words/S7.6.1.2_A1.7.js
+++ b/test/language/future-reserved-words/debugger.js
@@ -2,9 +2,14 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-info: The "debugger" token can not be used as identifier
+esid: sec-identifiers-static-semantics-early-errors
 es5id: 7.6.1.2_A1.7
 description: Checking if execution of "debugger=1" fails
+info: |
+    Identifier : IdentifierName but not ReservedWord
+
+    It is a Syntax Error if StringValue of IdentifierName is the same String
+    value as the StringValue of any ReservedWord except for yield and await.
 negative:
   phase: early
   type: SyntaxError
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.8.js b/test/language/future-reserved-words/double.js
similarity index 66%
rename from test/language/future-reserved-words/S7.6.1.2_A1.8.js
rename to test/language/future-reserved-words/double.js
index a8354b3b18..344ad382c2 100644
--- a/test/language/future-reserved-words/S7.6.1.2_A1.8.js
+++ b/test/language/future-reserved-words/double.js
@@ -2,9 +2,11 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-info: The "double" token can be used as identifier
+esid: sec-future-reserved-words
 es5id: 7.6.1.2_A1.8
 description: Checking if execution of "double=1" succeeds
+info: >
+  `double` was removed from the list of future reserved words in ECMAScript 5.
 ---*/
 
 var double = 1;
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.9.js b/test/language/future-reserved-words/enum.js
similarity index 50%
rename from test/language/future-reserved-words/S7.6.1.2_A1.9.js
rename to test/language/future-reserved-words/enum.js
index 8e04cff51f..b106c296cd 100644
--- a/test/language/future-reserved-words/S7.6.1.2_A1.9.js
+++ b/test/language/future-reserved-words/enum.js
@@ -2,9 +2,14 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-info: The "enum" token can not be used as identifier
+esid: sec-identifiers-static-semantics-early-errors
 es5id: 7.6.1.2_A1.9
 description: Checking if execution of "enum=1" fails
+info: |
+    Identifier : IdentifierName but not ReservedWord
+
+    It is a Syntax Error if StringValue of IdentifierName is the same String
+    value as the StringValue of any ReservedWord except for yield and await.
 negative:
   phase: early
   type: SyntaxError
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.10.js b/test/language/future-reserved-words/export.js
similarity index 51%
rename from test/language/future-reserved-words/S7.6.1.2_A1.10.js
rename to test/language/future-reserved-words/export.js
index be6f1006f7..763caeed57 100644
--- a/test/language/future-reserved-words/S7.6.1.2_A1.10.js
+++ b/test/language/future-reserved-words/export.js
@@ -2,9 +2,14 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-info: The "export" token can not be used as identifier
+esid: sec-identifiers-static-semantics-early-errors
 es5id: 7.6.1.2_A1.10
 description: Checking if execution of "export=1" fails
+info: |
+    Identifier : IdentifierName but not ReservedWord
+
+    It is a Syntax Error if StringValue of IdentifierName is the same String
+    value as the StringValue of any ReservedWord except for yield and await.
 negative:
   phase: early
   type: SyntaxError
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.11.js b/test/language/future-reserved-words/extends.js
similarity index 51%
rename from test/language/future-reserved-words/S7.6.1.2_A1.11.js
rename to test/language/future-reserved-words/extends.js
index d9bdd2f4e3..8c1f595579 100644
--- a/test/language/future-reserved-words/S7.6.1.2_A1.11.js
+++ b/test/language/future-reserved-words/extends.js
@@ -2,9 +2,14 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-info: The "extends" token can not be used as identifier
+esid: sec-identifiers-static-semantics-early-errors
 es5id: 7.6.1.2_A1.11
 description: Checking if execution of "extends=1" fails
+info: |
+    Identifier : IdentifierName but not ReservedWord
+
+    It is a Syntax Error if StringValue of IdentifierName is the same String
+    value as the StringValue of any ReservedWord except for yield and await.
 negative:
   phase: early
   type: SyntaxError
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.12.js b/test/language/future-reserved-words/final.js
similarity index 66%
rename from test/language/future-reserved-words/S7.6.1.2_A1.12.js
rename to test/language/future-reserved-words/final.js
index 9b97734be4..a8634f661f 100644
--- a/test/language/future-reserved-words/S7.6.1.2_A1.12.js
+++ b/test/language/future-reserved-words/final.js
@@ -2,9 +2,11 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-info: The "final" token can be used as identifier
+esid: sec-future-reserved-words
 es5id: 7.6.1.2_A1.12
 description: Checking if execution of "final=1" succeeds
+info: >
+  `final` was removed from the list of future reserved words in ECMAScript 5.
 ---*/
 
 var final = 1;
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.13.js b/test/language/future-reserved-words/float.js
similarity index 66%
rename from test/language/future-reserved-words/S7.6.1.2_A1.13.js
rename to test/language/future-reserved-words/float.js
index 5576838dc0..25d2e0cb4f 100644
--- a/test/language/future-reserved-words/S7.6.1.2_A1.13.js
+++ b/test/language/future-reserved-words/float.js
@@ -2,9 +2,11 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-info: The "float" token can be used as identifier
+esid: sec-future-reserved-words
 es5id: 7.6.1.2_A1.13
 description: Checking if execution of "float=1" succeeds
+info: >
+  `float` was removed from the list of future reserved words in ECMAScript 5.
 ---*/
 
 var float = 1;
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.14.js b/test/language/future-reserved-words/goto.js
similarity index 66%
rename from test/language/future-reserved-words/S7.6.1.2_A1.14.js
rename to test/language/future-reserved-words/goto.js
index 381b67c8c0..e81365a340 100644
--- a/test/language/future-reserved-words/S7.6.1.2_A1.14.js
+++ b/test/language/future-reserved-words/goto.js
@@ -2,9 +2,11 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-info: The "goto" token can be used as identifier
+esid: sec-future-reserved-words
 es5id: 7.6.1.2_A1.14
 description: Checking if execution of "goto=1" succeeds
+info: >
+  `goto` was removed from the list of future reserved words in ECMAScript 5.
 ---*/
 
 var goto = 1;
diff --git a/test/language/future-reserved-words/7.6.1.2-12-s.js b/test/language/future-reserved-words/implement.js
similarity index 90%
rename from test/language/future-reserved-words/7.6.1.2-12-s.js
rename to test/language/future-reserved-words/implement.js
index 1524b197bd..82789235ab 100644
--- a/test/language/future-reserved-words/7.6.1.2-12-s.js
+++ b/test/language/future-reserved-words/implement.js
@@ -7,6 +7,6 @@ description: >
     SyntaxError isn't thrown when 'implement' occurs
 ---*/
 
-        var implement = 1;
+var implement = 1;
 
 assert.sameValue(implement, 1, 'implement');
diff --git a/test/language/future-reserved-words/implements-strict-escaped.js b/test/language/future-reserved-words/implements-strict-escaped.js
new file mode 100644
index 0000000000..ca6fd22e75
--- /dev/null
+++ b/test/language/future-reserved-words/implements-strict-escaped.js
@@ -0,0 +1,22 @@
+// Copyright (c) 2012 Ecma International.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-identifiers-static-semantics-early-errors
+es5id: 7.6.1-17-s
+description: >
+    7.6 - SyntaxError expected: reserved words used as Identifier
+    Names in UTF8: implements (implements)
+info: |
+    Identifier : IdentifierName but not ReservedWord
+
+    It is a Syntax Error if this phrase is contained in strict mode code and the
+    StringValue of IdentifierName is: "implements", "interface", "let", "package",
+    "private", "protected", "public", "static", or "yield".
+negative:
+  phase: early
+  type: SyntaxError
+flags: [onlyStrict]
+---*/
+
+var \u0069mplements = 123;
diff --git a/test/language/future-reserved-words/implements-strict.js b/test/language/future-reserved-words/implements-strict.js
new file mode 100644
index 0000000000..3c5f67a9d7
--- /dev/null
+++ b/test/language/future-reserved-words/implements-strict.js
@@ -0,0 +1,21 @@
+// Copyright (c) 2012 Ecma International.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-identifiers-static-semantics-early-errors
+es5id: 7.6.1.2-1-s
+description: >
+    Strict Mode - SyntaxError is thrown when 'implements' occurs in strict mode code
+info: |
+    Identifier : IdentifierName but not ReservedWord
+
+    It is a Syntax Error if this phrase is contained in strict mode code and the
+    StringValue of IdentifierName is: "implements", "interface", "let", "package",
+    "private", "protected", "public", "static", or "yield".
+negative:
+  phase: early
+  type: SyntaxError
+flags: [onlyStrict]
+---*/
+
+var implements = 1;
diff --git a/test/language/future-reserved-words/7.6.1.2-11-s.js b/test/language/future-reserved-words/implements-titlecase.js
similarity index 90%
rename from test/language/future-reserved-words/7.6.1.2-11-s.js
rename to test/language/future-reserved-words/implements-titlecase.js
index 8dfcf574ea..9fe6ec04fc 100644
--- a/test/language/future-reserved-words/7.6.1.2-11-s.js
+++ b/test/language/future-reserved-words/implements-titlecase.js
@@ -7,6 +7,6 @@ description: >
     SyntaxError isn't thrown when 'Implements' occurs
 ---*/
 
-        var Implements = 1;
+var Implements = 1;
 
 assert.sameValue(Implements, 1, 'Implements');
diff --git a/test/language/future-reserved-words/7.6.1.2-10-s.js b/test/language/future-reserved-words/implements-uppercase.js
similarity index 90%
rename from test/language/future-reserved-words/7.6.1.2-10-s.js
rename to test/language/future-reserved-words/implements-uppercase.js
index 4d10b88908..d9484a66f7 100644
--- a/test/language/future-reserved-words/7.6.1.2-10-s.js
+++ b/test/language/future-reserved-words/implements-uppercase.js
@@ -7,6 +7,6 @@ description: >
     SyntaxError isn't thrown when 'IMPLEMENTS' occurs
 ---*/
 
-        var IMPLEMENTS = 1;
+var IMPLEMENTS = 1;
 
 assert.sameValue(IMPLEMENTS, 1, 'IMPLEMENTS');
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.15ns.js b/test/language/future-reserved-words/implements.js
similarity index 100%
rename from test/language/future-reserved-words/S7.6.1.2_A1.15ns.js
rename to test/language/future-reserved-words/implements.js
diff --git a/test/language/future-reserved-words/7.6.1.2-14-s.js b/test/language/future-reserved-words/implements0.js
similarity index 90%
rename from test/language/future-reserved-words/7.6.1.2-14-s.js
rename to test/language/future-reserved-words/implements0.js
index 725aeacb6e..7f57e60946 100644
--- a/test/language/future-reserved-words/7.6.1.2-14-s.js
+++ b/test/language/future-reserved-words/implements0.js
@@ -7,6 +7,6 @@ description: >
     SyntaxError isn't thrown when 'implements0' occurs
 ---*/
 
-        var implements0 = 1;
+var implements0 = 1;
 
 assert.sameValue(implements0, 1, 'implements0');
diff --git a/test/language/future-reserved-words/7.6.1.2-13-s.js b/test/language/future-reserved-words/implementss.js
similarity index 90%
rename from test/language/future-reserved-words/7.6.1.2-13-s.js
rename to test/language/future-reserved-words/implementss.js
index 6663859a17..ba9933f7e7 100644
--- a/test/language/future-reserved-words/7.6.1.2-13-s.js
+++ b/test/language/future-reserved-words/implementss.js
@@ -7,6 +7,6 @@ description: >
     SyntaxError isn't thrown when 'implementss' occurs
 ---*/
 
-        var implementss = 1;
+var implementss = 1;
 
 assert.sameValue(implementss, 1, 'implementss');
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.16.js b/test/language/future-reserved-words/import.js
similarity index 51%
rename from test/language/future-reserved-words/S7.6.1.2_A1.16.js
rename to test/language/future-reserved-words/import.js
index da5cd8ad53..bddea8f7e7 100644
--- a/test/language/future-reserved-words/S7.6.1.2_A1.16.js
+++ b/test/language/future-reserved-words/import.js
@@ -2,9 +2,14 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-info: The "import" token can not be used as identifier
+esid: sec-identifiers-static-semantics-early-errors
 es5id: 7.6.1.2_A1.16
 description: Checking if execution of "import=1" fails
+info: |
+    Identifier : IdentifierName but not ReservedWord
+
+    It is a Syntax Error if StringValue of IdentifierName is the same String
+    value as the StringValue of any ReservedWord except for yield and await.
 negative:
   phase: early
   type: SyntaxError
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.17.js b/test/language/future-reserved-words/int.js
similarity index 66%
rename from test/language/future-reserved-words/S7.6.1.2_A1.17.js
rename to test/language/future-reserved-words/int.js
index 2dd1dd26c4..151896554e 100644
--- a/test/language/future-reserved-words/S7.6.1.2_A1.17.js
+++ b/test/language/future-reserved-words/int.js
@@ -2,9 +2,11 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-info: The "int" token can be used as identifier
+esid: sec-future-reserved-words
 es5id: 7.6.1.2_A1.17
 description: Checking if execution of "int=1" succeeds
+info: >
+  `int` was removed from the list of future reserved words in ECMAScript 5.
 ---*/
 
 var int = 1;
diff --git a/test/language/future-reserved-words/interface-strict-escaped.js b/test/language/future-reserved-words/interface-strict-escaped.js
new file mode 100644
index 0000000000..bec054c0fc
--- /dev/null
+++ b/test/language/future-reserved-words/interface-strict-escaped.js
@@ -0,0 +1,22 @@
+// Copyright (c) 2012 Ecma International.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-identifiers-static-semantics-early-errors
+es5id: 7.6.1-22-s
+description: >
+    7.6 - SyntaxError expected: reserved words used as Identifier
+    Names in UTF8: inte\u0072face (interface)
+info: |
+    Identifier : IdentifierName but not ReservedWord
+
+    It is a Syntax Error if this phrase is contained in strict mode code and the
+    StringValue of IdentifierName is: "implements", "interface", "let", "package",
+    "private", "protected", "public", "static", or "yield".
+negative:
+  phase: early
+  type: SyntaxError
+flags: [onlyStrict]
+---*/
+
+var inte\u0072face = 123;
diff --git a/test/language/future-reserved-words/interface-strict.js b/test/language/future-reserved-words/interface-strict.js
new file mode 100644
index 0000000000..83c3dfe334
--- /dev/null
+++ b/test/language/future-reserved-words/interface-strict.js
@@ -0,0 +1,21 @@
+// Copyright (c) 2012 Ecma International.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-identifiers-static-semantics-early-errors
+es5id: 7.6.1.2-6-s
+description: >
+    Strict Mode - SyntaxError is thrown when 'interface' occurs in strict mode code
+info: |
+    Identifier : IdentifierName but not ReservedWord
+
+    It is a Syntax Error if this phrase is contained in strict mode code and the
+    StringValue of IdentifierName is: "implements", "interface", "let", "package",
+    "private", "protected", "public", "static", or "yield".
+negative:
+  phase: early
+  type: SyntaxError
+flags: [onlyStrict]
+---*/
+
+var interface = 1;
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.18ns.js b/test/language/future-reserved-words/interface.js
similarity index 100%
rename from test/language/future-reserved-words/S7.6.1.2_A1.18ns.js
rename to test/language/future-reserved-words/interface.js
diff --git a/test/language/future-reserved-words/let-strict-escaped.js b/test/language/future-reserved-words/let-strict-escaped.js
new file mode 100644
index 0000000000..c1c7946190
--- /dev/null
+++ b/test/language/future-reserved-words/let-strict-escaped.js
@@ -0,0 +1,22 @@
+// Copyright (c) 2012 Ecma International.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-identifiers-static-semantics-early-errors
+es5id: 7.6.1-18-s
+description: >
+    7.6 - SyntaxError expected: reserved words used as Identifier
+    Names in UTF8: l\u0065t (let)
+info: |
+    Identifier : IdentifierName but not ReservedWord
+
+    It is a Syntax Error if this phrase is contained in strict mode code and the
+    StringValue of IdentifierName is: "implements", "interface", "let", "package",
+    "private", "protected", "public", "static", or "yield".
+negative:
+  phase: early
+  type: SyntaxError
+flags: [onlyStrict]
+---*/
+
+var l\u0065t = 123;
diff --git a/test/language/future-reserved-words/let-strict.js b/test/language/future-reserved-words/let-strict.js
new file mode 100644
index 0000000000..fe3e049e4e
--- /dev/null
+++ b/test/language/future-reserved-words/let-strict.js
@@ -0,0 +1,21 @@
+// Copyright (c) 2012 Ecma International.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-identifiers-static-semantics-early-errors
+es5id: 7.6.1.2-2-s
+description: >
+    Strict Mode - SyntaxError is thrown when 'let' occurs in strict mode code
+info: |
+    Identifier : IdentifierName but not ReservedWord
+
+    It is a Syntax Error if this phrase is contained in strict mode code and the
+    StringValue of IdentifierName is: "implements", "interface", "let", "package",
+    "private", "protected", "public", "static", or "yield".
+negative:
+  phase: early
+  type: SyntaxError
+flags: [onlyStrict]
+---*/
+
+var let = 1;
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.19.js b/test/language/future-reserved-words/long.js
similarity index 66%
rename from test/language/future-reserved-words/S7.6.1.2_A1.19.js
rename to test/language/future-reserved-words/long.js
index 689c84f080..5f88caf4d0 100644
--- a/test/language/future-reserved-words/S7.6.1.2_A1.19.js
+++ b/test/language/future-reserved-words/long.js
@@ -2,9 +2,11 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-info: The "long" token can be used as identifier
+esid: sec-future-reserved-words
 es5id: 7.6.1.2_A1.19
 description: Checking if execution of "long=1" succeeds
+info: >
+  `long` was removed from the list of future reserved words in ECMAScript 5.
 ---*/
 
 var long = 1;
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.20.js b/test/language/future-reserved-words/native.js
similarity index 66%
rename from test/language/future-reserved-words/S7.6.1.2_A1.20.js
rename to test/language/future-reserved-words/native.js
index 174d92c06f..1ec95193b4 100644
--- a/test/language/future-reserved-words/S7.6.1.2_A1.20.js
+++ b/test/language/future-reserved-words/native.js
@@ -2,9 +2,11 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-info: The "native" token can be used as identifier
+esid: sec-future-reserved-words
 es5id: 7.6.1.2_A1.20
 description: Checking if execution of "native=1" succeeds
+info: >
+  `native` was removed from the list of future reserved words in ECMAScript 5.
 ---*/
 
 var native = 1;
diff --git a/test/language/future-reserved-words/package-strict-escaped.js b/test/language/future-reserved-words/package-strict-escaped.js
new file mode 100644
index 0000000000..e7c691006a
--- /dev/null
+++ b/test/language/future-reserved-words/package-strict-escaped.js
@@ -0,0 +1,22 @@
+// Copyright (c) 2012 Ecma International.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-identifiers-static-semantics-early-errors
+es5id: 7.6.1-23-s
+description: >
+    7.6 - SyntaxError expected: reserved words used as Identifier
+    Names in UTF8: packag\u0065 (package)
+info: |
+    Identifier : IdentifierName but not ReservedWord
+
+    It is a Syntax Error if this phrase is contained in strict mode code and the
+    StringValue of IdentifierName is: "implements", "interface", "let", "package",
+    "private", "protected", "public", "static", or "yield".
+negative:
+  phase: early
+  type: SyntaxError
+flags: [onlyStrict]
+---*/
+
+var packag\u0065 = 123;
diff --git a/test/language/future-reserved-words/package-strict.js b/test/language/future-reserved-words/package-strict.js
new file mode 100644
index 0000000000..5e8c5bb4eb
--- /dev/null
+++ b/test/language/future-reserved-words/package-strict.js
@@ -0,0 +1,21 @@
+// Copyright (c) 2012 Ecma International.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-identifiers-static-semantics-early-errors
+es5id: 7.6.1.2-7-s
+description: >
+    Strict Mode - SyntaxError is thrown when 'package' occurs in strict mode code
+info: |
+    Identifier : IdentifierName but not ReservedWord
+
+    It is a Syntax Error if this phrase is contained in strict mode code and the
+    StringValue of IdentifierName is: "implements", "interface", "let", "package",
+    "private", "protected", "public", "static", or "yield".
+negative:
+  phase: early
+  type: SyntaxError
+flags: [onlyStrict]
+---*/
+
+var package = 1;
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.21ns.js b/test/language/future-reserved-words/package.js
similarity index 100%
rename from test/language/future-reserved-words/S7.6.1.2_A1.21ns.js
rename to test/language/future-reserved-words/package.js
diff --git a/test/language/future-reserved-words/private-strict-escaped.js b/test/language/future-reserved-words/private-strict-escaped.js
new file mode 100644
index 0000000000..28c6cab95e
--- /dev/null
+++ b/test/language/future-reserved-words/private-strict-escaped.js
@@ -0,0 +1,22 @@
+// Copyright (c) 2012 Ecma International.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-identifiers-static-semantics-early-errors
+es5id: 7.6.1-19-s
+description: >
+    7.6 - SyntaxError expected: reserved words used as Identifier
+    Names in UTF8: privat\u0065 (private)
+info: |
+    Identifier : IdentifierName but not ReservedWord
+
+    It is a Syntax Error if this phrase is contained in strict mode code and the
+    StringValue of IdentifierName is: "implements", "interface", "let", "package",
+    "private", "protected", "public", "static", or "yield".
+negative:
+  phase: early
+  type: SyntaxError
+flags: [onlyStrict]
+---*/
+
+var privat\u0065 = 123;
diff --git a/test/language/future-reserved-words/private-strict.js b/test/language/future-reserved-words/private-strict.js
new file mode 100644
index 0000000000..25a952b928
--- /dev/null
+++ b/test/language/future-reserved-words/private-strict.js
@@ -0,0 +1,21 @@
+// Copyright (c) 2012 Ecma International.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-identifiers-static-semantics-early-errors
+es5id: 7.6.1.2-3-s
+description: >
+    Strict Mode - SyntaxError is thrown when 'private' occurs in strict mode code
+info: |
+    Identifier : IdentifierName but not ReservedWord
+
+    It is a Syntax Error if this phrase is contained in strict mode code and the
+    StringValue of IdentifierName is: "implements", "interface", "let", "package",
+    "private", "protected", "public", "static", or "yield".
+negative:
+  phase: early
+  type: SyntaxError
+flags: [onlyStrict]
+---*/
+
+var private = 1;
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.22ns.js b/test/language/future-reserved-words/private.js
similarity index 100%
rename from test/language/future-reserved-words/S7.6.1.2_A1.22ns.js
rename to test/language/future-reserved-words/private.js
diff --git a/test/language/future-reserved-words/protected-strict-escaped.js b/test/language/future-reserved-words/protected-strict-escaped.js
new file mode 100644
index 0000000000..9286ada557
--- /dev/null
+++ b/test/language/future-reserved-words/protected-strict-escaped.js
@@ -0,0 +1,23 @@
+// Copyright (c) 2012 Ecma International.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-identifiers-static-semantics-early-errors
+es5id: 7.6.1-24-s
+description: >
+    7.6 - SyntaxError expected: reserved words used as Identifier
+    Names in UTF8:
+    \u0070\u0072\u006f\u0074\u0065\u0063\u0074\u0065\u0064 (protected)
+info: |
+    Identifier : IdentifierName but not ReservedWord
+
+    It is a Syntax Error if this phrase is contained in strict mode code and the
+    StringValue of IdentifierName is: "implements", "interface", "let", "package",
+    "private", "protected", "public", "static", or "yield".
+negative:
+  phase: early
+  type: SyntaxError
+flags: [onlyStrict]
+---*/
+
+var \u0070\u0072\u006f\u0074\u0065\u0063\u0074\u0065\u0064 = 123;
diff --git a/test/language/future-reserved-words/protected-strict.js b/test/language/future-reserved-words/protected-strict.js
new file mode 100644
index 0000000000..1a4ed8e253
--- /dev/null
+++ b/test/language/future-reserved-words/protected-strict.js
@@ -0,0 +1,21 @@
+// Copyright (c) 2012 Ecma International.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-identifiers-static-semantics-early-errors
+es5id: 7.6.1.2-8-s
+description: >
+    Strict Mode - SyntaxError is thrown when 'protected' occurs in strict mode code
+info: |
+    Identifier : IdentifierName but not ReservedWord
+
+    It is a Syntax Error if this phrase is contained in strict mode code and the
+    StringValue of IdentifierName is: "implements", "interface", "let", "package",
+    "private", "protected", "public", "static", or "yield".
+negative:
+  phase: early
+  type: SyntaxError
+flags: [onlyStrict]
+---*/
+
+var protected = 1;
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.23ns.js b/test/language/future-reserved-words/protected.js
similarity index 100%
rename from test/language/future-reserved-words/S7.6.1.2_A1.23ns.js
rename to test/language/future-reserved-words/protected.js
diff --git a/test/language/future-reserved-words/public-strict-escaped.js b/test/language/future-reserved-words/public-strict-escaped.js
new file mode 100644
index 0000000000..8e8f8683a4
--- /dev/null
+++ b/test/language/future-reserved-words/public-strict-escaped.js
@@ -0,0 +1,22 @@
+// Copyright (c) 2012 Ecma International.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-identifiers-static-semantics-early-errors
+es5id: 7.6.1-20-s
+description: >
+    7.6 - SyntaxError expected: reserved words used as Identifier
+    Names in UTF8: \u0070\u0075\u0062\u006c\u0069\u0063 (public)
+info: |
+    Identifier : IdentifierName but not ReservedWord
+
+    It is a Syntax Error if this phrase is contained in strict mode code and the
+    StringValue of IdentifierName is: "implements", "interface", "let", "package",
+    "private", "protected", "public", "static", or "yield".
+negative:
+  phase: early
+  type: SyntaxError
+flags: [onlyStrict]
+---*/
+
+var \u0070\u0075\u0062\u006c\u0069\u0063 = 123;
diff --git a/test/language/future-reserved-words/public-strict.js b/test/language/future-reserved-words/public-strict.js
new file mode 100644
index 0000000000..dd5111f40e
--- /dev/null
+++ b/test/language/future-reserved-words/public-strict.js
@@ -0,0 +1,21 @@
+// Copyright (c) 2012 Ecma International.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-identifiers-static-semantics-early-errors
+es5id: 7.6.1.2-4-s
+description: >
+    Strict Mode - SyntaxError is thrown when 'public' occurs in strict mode code
+info: |
+    Identifier : IdentifierName but not ReservedWord
+
+    It is a Syntax Error if this phrase is contained in strict mode code and the
+    StringValue of IdentifierName is: "implements", "interface", "let", "package",
+    "private", "protected", "public", "static", or "yield".
+negative:
+  phase: early
+  type: SyntaxError
+flags: [onlyStrict]
+---*/
+
+var public = 1;
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.24ns.js b/test/language/future-reserved-words/public.js
similarity index 100%
rename from test/language/future-reserved-words/S7.6.1.2_A1.24ns.js
rename to test/language/future-reserved-words/public.js
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.25.js b/test/language/future-reserved-words/short.js
similarity index 66%
rename from test/language/future-reserved-words/S7.6.1.2_A1.25.js
rename to test/language/future-reserved-words/short.js
index 01681b3c17..f55567a7aa 100644
--- a/test/language/future-reserved-words/S7.6.1.2_A1.25.js
+++ b/test/language/future-reserved-words/short.js
@@ -2,9 +2,11 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-info: The "short" token can be used as identifier
+esid: sec-future-reserved-words
 es5id: 7.6.1.2_A1.25
 description: Checking if execution of "short=1" succeeds
+info: >
+  `short` was removed from the list of future reserved words in ECMAScript 5.
 ---*/
 
 var short = 1;
diff --git a/test/language/future-reserved-words/static-strict-escaped.js b/test/language/future-reserved-words/static-strict-escaped.js
new file mode 100644
index 0000000000..413c2fd4d6
--- /dev/null
+++ b/test/language/future-reserved-words/static-strict-escaped.js
@@ -0,0 +1,22 @@
+// Copyright (c) 2012 Ecma International.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-identifiers-static-semantics-early-errors
+es5id: 7.6.1-25-s
+description: >
+    7.6 - SyntaxError expected: reserved words used as Identifier
+    Names in UTF8: \u0073\u0074\u0061\u0074\u0069\u0063 (static)
+info: |
+    Identifier : IdentifierName but not ReservedWord
+
+    It is a Syntax Error if this phrase is contained in strict mode code and the
+    StringValue of IdentifierName is: "implements", "interface", "let", "package",
+    "private", "protected", "public", "static", or "yield".
+negative:
+  phase: early
+  type: SyntaxError
+flags: [onlyStrict]
+---*/
+
+var \u0073\u0074\u0061\u0074\u0069\u0063 = 123;
diff --git a/test/language/future-reserved-words/static-strict.js b/test/language/future-reserved-words/static-strict.js
new file mode 100644
index 0000000000..b3bca09f2a
--- /dev/null
+++ b/test/language/future-reserved-words/static-strict.js
@@ -0,0 +1,21 @@
+// Copyright (c) 2012 Ecma International.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-identifiers-static-semantics-early-errors
+es5id: 7.6.1.2-9-s
+description: >
+    Strict Mode - SyntaxError is thrown when 'static' occurs in strict mode code
+info: |
+    Identifier : IdentifierName but not ReservedWord
+
+    It is a Syntax Error if this phrase is contained in strict mode code and the
+    StringValue of IdentifierName is: "implements", "interface", "let", "package",
+    "private", "protected", "public", "static", or "yield".
+negative:
+  phase: early
+  type: SyntaxError
+flags: [onlyStrict]
+---*/
+
+var static = 1;
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.26ns.js b/test/language/future-reserved-words/static.js
similarity index 100%
rename from test/language/future-reserved-words/S7.6.1.2_A1.26ns.js
rename to test/language/future-reserved-words/static.js
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.27.js b/test/language/future-reserved-words/super.js
similarity index 51%
rename from test/language/future-reserved-words/S7.6.1.2_A1.27.js
rename to test/language/future-reserved-words/super.js
index fae8764e54..ba6fbec800 100644
--- a/test/language/future-reserved-words/S7.6.1.2_A1.27.js
+++ b/test/language/future-reserved-words/super.js
@@ -2,9 +2,14 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-info: The "super" token can not be used as identifier
+esid: sec-identifiers-static-semantics-early-errors
 es5id: 7.6.1.2_A1.27
 description: Checking if execution of "super=1" fails
+info: |
+    Identifier : IdentifierName but not ReservedWord
+
+    It is a Syntax Error if StringValue of IdentifierName is the same String
+    value as the StringValue of any ReservedWord except for yield and await.
 negative:
   phase: early
   type: SyntaxError
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.28.js b/test/language/future-reserved-words/synchronized.js
similarity index 66%
rename from test/language/future-reserved-words/S7.6.1.2_A1.28.js
rename to test/language/future-reserved-words/synchronized.js
index 38fe3360eb..a467ae6f00 100644
--- a/test/language/future-reserved-words/S7.6.1.2_A1.28.js
+++ b/test/language/future-reserved-words/synchronized.js
@@ -2,9 +2,11 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-info: The "synchronized" token can be used as identifier
+esid: sec-future-reserved-words
 es5id: 7.6.1.2_A1.28
 description: Checking if execution of "synchronized=1" succeeds
+info: >
+  `synchronized` was removed from the list of future reserved words in ECMAScript 5.
 ---*/
 
 var synchronized = 1;
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.29.js b/test/language/future-reserved-words/throws.js
similarity index 66%
rename from test/language/future-reserved-words/S7.6.1.2_A1.29.js
rename to test/language/future-reserved-words/throws.js
index 712fc0a3be..1724547537 100644
--- a/test/language/future-reserved-words/S7.6.1.2_A1.29.js
+++ b/test/language/future-reserved-words/throws.js
@@ -2,9 +2,11 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-info: The "throws" token can be used as identifier
+esid: sec-future-reserved-words
 es5id: 7.6.1.2_A1.29
 description: Checking if execution of "throws=1" succeeds
+info: >
+  `throws` was removed from the list of future reserved words in ECMAScript 5.
 ---*/
 
 var throws = 1;
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.30.js b/test/language/future-reserved-words/transient.js
similarity index 66%
rename from test/language/future-reserved-words/S7.6.1.2_A1.30.js
rename to test/language/future-reserved-words/transient.js
index 6de5eed997..0e2d96e12e 100644
--- a/test/language/future-reserved-words/S7.6.1.2_A1.30.js
+++ b/test/language/future-reserved-words/transient.js
@@ -2,9 +2,11 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-info: The "transient" token can be used as identifier
+esid: sec-future-reserved-words
 es5id: 7.6.1.2_A1.30
 description: Checking if execution of "transient=1" succeeds
+info: >
+  `transient` was removed from the list of future reserved words in ECMAScript 5.
 ---*/
 
 var transient = 1;
diff --git a/test/language/future-reserved-words/S7.6.1.2_A1.31.js b/test/language/future-reserved-words/volatile.js
similarity index 66%
rename from test/language/future-reserved-words/S7.6.1.2_A1.31.js
rename to test/language/future-reserved-words/volatile.js
index 47b065b12e..43ef199c48 100644
--- a/test/language/future-reserved-words/S7.6.1.2_A1.31.js
+++ b/test/language/future-reserved-words/volatile.js
@@ -2,9 +2,11 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-info: The "volatile" token can be used as identifier
+esid: sec-future-reserved-words
 es5id: 7.6.1.2_A1.31
 description: Checking if execution of "volatile=1" succeeds
+info: >
+  `volatile` was removed from the list of future reserved words in ECMAScript 5.
 ---*/
 
 var volatile = 1;
diff --git a/test/language/future-reserved-words/yield-strict-escaped.js b/test/language/future-reserved-words/yield-strict-escaped.js
new file mode 100644
index 0000000000..9745458248
--- /dev/null
+++ b/test/language/future-reserved-words/yield-strict-escaped.js
@@ -0,0 +1,22 @@
+// Copyright (c) 2012 Ecma International.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-identifiers-static-semantics-early-errors
+es5id: 7.6.1-21-s
+description: >
+    7.6 - SyntaxError expected: reserved words used as Identifier
+    Names in UTF8: \u0079ield (yield)
+info: |
+    Identifier : IdentifierName but not ReservedWord
+
+    It is a Syntax Error if this phrase is contained in strict mode code and the
+    StringValue of IdentifierName is: "implements", "interface", "let", "package",
+    "private", "protected", "public", "static", or "yield".
+negative:
+  phase: early
+  type: SyntaxError
+flags: [onlyStrict]
+---*/
+
+var \u0079ield = 123;
diff --git a/test/language/future-reserved-words/yield-strict.js b/test/language/future-reserved-words/yield-strict.js
new file mode 100644
index 0000000000..b81660f1bb
--- /dev/null
+++ b/test/language/future-reserved-words/yield-strict.js
@@ -0,0 +1,20 @@
+// Copyright (c) 2012 Ecma International.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-identifiers-static-semantics-early-errors
+es5id: 7.6.1.2-5-s
+description: >
+    Strict Mode - SyntaxError is thrown when ReservedWord
+    'yield' occurs in strict mode code
+info: |
+    BindingIdentifier : yield
+
+    It is a Syntax Error if the code matched by this production is contained in strict mode code.
+negative:
+  phase: early
+  type: SyntaxError
+flags: [onlyStrict]
+---*/
+
+var yield = 1;
-- 
GitLab