Index: test/webkit/reserved-words.js |
diff --git a/test/webkit/concat-while-having-a-bad-time.js b/test/webkit/reserved-words.js |
similarity index 50% |
copy from test/webkit/concat-while-having-a-bad-time.js |
copy to test/webkit/reserved-words.js |
index dfda1e08a0b36194b787a44ee12a9693acd8aeaf..6e62cc167048f3fc948d6fb8065ec97080a90737 100644 |
--- a/test/webkit/concat-while-having-a-bad-time.js |
+++ b/test/webkit/reserved-words.js |
@@ -21,11 +21,98 @@ |
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
+function isReserved(word) |
+{ |
+ try { |
+ eval("var " + word + ";"); |
+ return false; |
+ } catch (e) { |
+ return true; |
+ } |
+} |
+ |
+var reservedWords = [ |
+ "break", |
+ "case", |
+ "catch", |
+ "class", |
+ "const", |
+ "continue", |
+ "debugger", |
+ "default", |
+ "delete", |
+ "do", |
+ "else", |
+ "enum", |
+ "export", |
+ "extends", |
+ "false", |
+ "finally", |
+ "for", |
+ "function", |
+ "if", |
+ "import", |
+ "in", |
+ "instanceof", |
+ "new", |
+ "null", |
+ "return", |
+ "super", |
+ "switch", |
+ "this", |
+ "throw", |
+ "true", |
+ "try", |
+ "typeof", |
+ "var", |
+ "void", |
+ "while", |
+ "with" |
+]; |
+ |
+var unreservedWords = [ |
+ "abstract", |
+ "boolean", |
+ "byte", |
+ "char", |
+ "double", |
+ "final", |
+ "float", |
+ "goto", |
+ "implements", |
+ "int", |
+ "interface", |
+ "long", |
+ "native", |
+ "package", |
+ "private", |
+ "protected", |
+ "public", |
+ "short", |
+ "static", |
+ "synchronized", |
+ "throws", |
+ "transient", |
+ "volatile" |
+]; |
+ |
description( |
-"Tests the behavior of Array.prototype.concat while the array is having a bad time due to one of the elements we are concatenating." |
+"This file checks which ECMAScript 3 keywords are treated as reserved words." |
); |
-Object.defineProperty(Array.prototype, 0, { writable: false }); |
-shouldBe("[42].concat()", "[42]"); |
+reservedWords.sort(); |
+unreservedWords.sort(); |
+ |
+debug("SHOULD BE RESERVED:"); |
+for (var p in reservedWords) { |
+ shouldBeTrue("isReserved('" + reservedWords[p] + "')"); |
+} |
+ |
+debug(""); |
+debug("SHOULD NOT BE RESERVED:"); |
+for (var p in unreservedWords) { |
+ shouldBeFalse("isReserved('" + unreservedWords[p] + "')"); |
+} |
+debug(""); |