| 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("");
|
|
|