diff options
Diffstat (limited to 'js/src/tests/test262/language/reserved-words/ident-name-keyword-memberexpr-str.js')
-rw-r--r-- | js/src/tests/test262/language/reserved-words/ident-name-keyword-memberexpr-str.js | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/js/src/tests/test262/language/reserved-words/ident-name-keyword-memberexpr-str.js b/js/src/tests/test262/language/reserved-words/ident-name-keyword-memberexpr-str.js new file mode 100644 index 0000000000..f0001dd2cd --- /dev/null +++ b/js/src/tests/test262/language/reserved-words/ident-name-keyword-memberexpr-str.js @@ -0,0 +1,119 @@ +// 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-3-2 +description: > + Allow reserved words as property names by index assignment. +---*/ + +var tokenCodes = {}; + +tokenCodes['await'] = 'await'; +tokenCodes['break'] = 'break'; +tokenCodes['case'] = 'case'; +tokenCodes['catch'] = 'catch'; +tokenCodes['class'] = 'class'; +tokenCodes['const'] = 'const'; +tokenCodes['continue'] = 'continue'; +tokenCodes['debugger'] = 'debugger'; +tokenCodes['default'] = 'default'; +tokenCodes['delete'] = 'delete'; +tokenCodes['do'] = 'do'; +tokenCodes['else'] = 'else'; +tokenCodes['export'] = 'export'; +tokenCodes['extends'] = 'extends'; +tokenCodes['finally'] = 'finally'; +tokenCodes['for'] = 'for'; +tokenCodes['function'] = 'function'; +tokenCodes['if'] = 'if'; +tokenCodes['import'] = 'import'; +tokenCodes['in'] = 'in'; +tokenCodes['instanceof'] = 'instanceof'; +tokenCodes['new'] = 'new'; +tokenCodes['return'] = 'return'; +tokenCodes['super'] = 'super'; +tokenCodes['switch'] = 'switch'; +tokenCodes['this'] = 'this'; +tokenCodes['throw'] = 'throw'; +tokenCodes['try'] = 'try'; +tokenCodes['typeof'] = 'typeof'; +tokenCodes['var'] = 'var'; +tokenCodes['void'] = 'void'; +tokenCodes['while'] = 'while'; +tokenCodes['with'] = 'with'; +tokenCodes['yield'] = 'yield'; + +tokenCodes['enum'] = 'enum'; + +tokenCodes['implements'] = 'implements'; +tokenCodes['interface'] = 'interface'; +tokenCodes['package'] = 'package'; +tokenCodes['protected'] = 'protected'; +tokenCodes['private'] = 'private'; +tokenCodes['public'] = 'public'; + +tokenCodes['let'] = 'let'; +tokenCodes['static'] = 'static'; + + +var arr = [ + 'await', + 'break', + 'case', + 'catch', + 'class', + 'const', + 'continue', + 'debugger', + 'default', + 'delete', + 'do', + 'else', + 'export', + 'extends', + 'finally', + 'for', + 'function', + 'if', + 'import', + 'in', + 'instanceof', + 'new', + 'return', + 'super', + 'switch', + 'this', + 'throw', + 'try', + 'typeof', + 'var', + 'void', + 'while', + 'with', + 'yield', + + 'enum', + + 'implements', + 'interface', + 'package', + 'protected', + 'private', + 'public', + + 'let', + 'static', +]; + +for (var i = 0; i < arr.length; ++i) { + var propertyName = arr[i]; + + assert(tokenCodes.hasOwnProperty(propertyName), + 'Property "' + propertyName + '" found'); + + assert.sameValue(tokenCodes[propertyName], propertyName, + 'Property "' + propertyName + '" has correct value'); +} + +reportCompare(0, 0); |