diff options
Diffstat (limited to 'js/src/tests/ecma_6/extensions/keyword-unescaped-requirement.js')
-rw-r--r-- | js/src/tests/ecma_6/extensions/keyword-unescaped-requirement.js | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/js/src/tests/ecma_6/extensions/keyword-unescaped-requirement.js b/js/src/tests/ecma_6/extensions/keyword-unescaped-requirement.js new file mode 100644 index 000000000..20d3555e3 --- /dev/null +++ b/js/src/tests/ecma_6/extensions/keyword-unescaped-requirement.js @@ -0,0 +1,43 @@ +/* + * Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/licenses/publicdomain/ + */ + +//----------------------------------------------------------------------------- +var BUGNUMBER = 1204027; +var summary = + "Escape sequences aren't allowed in bolded grammar tokens (that is, in " + + "keywords, possibly contextual keywords)"; + +print(BUGNUMBER + ": " + summary); + +/************** + * BEGIN TEST * + **************/ + +var randomExtensions = + [ + "for \\u0065ach (var x in []);", + "for e\\u0061ch (var x in []);", + "[0 for \\u0065ach (var x in [])]", + "[0 for e\\u0061ch (var x in [])]", + "(0 for \\u0065ach (var x in []))", + "(0 for e\\u0061ch (var x in []))", + + // Soon to be not an extension, maybe... + "(for (x \\u006ff [1]) x)", + "(for (x o\\u0066 [1]) x)", + ]; + +for (var extension of randomExtensions) +{ + assertThrowsInstanceOf(() => Function(extension), SyntaxError, + "bad behavior for: " + extension); +} + +/******************************************************************************/ + +if (typeof reportCompare === "function") + reportCompare(true, true); + +print("Tests complete"); |