tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

ident-name-keyword-accessor.js (4865B)


      1 // Copyright (c) 2012 Ecma International.  All rights reserved.
      2 // This code is governed by the BSD license found in the LICENSE file.
      3 
      4 /*---
      5 es5id: 7.6.1-4-2
      6 description: >
      7    Allow reserved words as property names by accessor functions within an object.
      8 ---*/
      9 
     10 var test;
     11 
     12 var tokenCodes = {
     13    set await(value) { test = "await"; },
     14    get await() { return "await"; },
     15    set break(value) { test = "break"; },
     16    get break() { return "break"; },
     17    set case(value) { test = "case"; },
     18    get case() { return "case"; },
     19    set catch(value) { test = "catch"; },
     20    get catch() { return "catch"; },
     21    set class(value) { test = "class"; },
     22    get class() { return "class"; },
     23    set const(value) { test = "const"; },
     24    get const() { return "const"; },
     25    set continue(value) { test = "continue"; },
     26    get continue() { return "continue"; },
     27    set debugger(value) { test = "debugger"; },
     28    get debugger() { return "debugger"; },
     29    set default(value) { test = "default"; },
     30    get default() { return "default"; },
     31    set delete(value) { test = "delete"; },
     32    get delete() { return "delete"; },
     33    set do(value) { test = "do"; },
     34    get do() { return "do"; },
     35    set else(value) { test = "else"; },
     36    get else() { return "else"; },
     37    set export(value) { test = "export"; },
     38    get export() { return "export"; },
     39    set extends(value) { test = "extends"; },
     40    get extends() { return "extends"; },
     41    set finally(value) { test = "finally"; },
     42    get finally() { return "finally"; },
     43    set for(value) { test = "for"; },
     44    get for() { return "for"; },
     45    set function(value) { test = "function"; },
     46    get function() { return "function"; },
     47    set if(value) { test = "if"; },
     48    get if() { return "if"; },
     49    set import(value) { test = "import"; },
     50    get import() { return "import"; },
     51    set in(value) { test = "in"; },
     52    get in() { return "in"; },
     53    set instanceof(value) { test = "instanceof"; },
     54    get instanceof() { return "instanceof"; },
     55    set new(value) { test = "new"; },
     56    get new() { return "new"; },
     57    set return(value) { test = "return"; },
     58    get return() { return "return"; },
     59    set super(value) { test = "super"; },
     60    get super() { return "super"; },
     61    set switch(value) { test = "switch"; },
     62    get switch() { return "switch"; },
     63    set this(value) { test = "this"; },
     64    get this() { return "this"; },
     65    set throw(value) { test = "throw"; },
     66    get throw() { return "throw"; },
     67    set try(value) { test = "try"; },
     68    get try() { return "try"; },
     69    set typeof(value) { test = "typeof"; },
     70    get typeof() { return "typeof"; },
     71    set var(value) { test = "var"; },
     72    get var() { return "var"; },
     73    set void(value) { test = "void"; },
     74    get void() { return "void"; },
     75    set while(value) { test = "while"; },
     76    get while() { return "while"; },
     77    set with(value) { test = "with"; },
     78    get with() { return "with"; },
     79    set yield(value) { test = "yield"; },
     80    get yield() { return "yield"; },
     81 
     82    set enum(value) { test = "enum"; },
     83    get enum() { return "enum"; },
     84 
     85    set implements(value) { test = "implements"; },
     86    get implements() { return "implements"; },
     87    set interface(value) { test = "interface"; },
     88    get interface() { return "interface"; },
     89    set package(value) { test = "package"; },
     90    get package() { return "package"; },
     91    set private(value) { test = "private"; },
     92    get private() { return "private"; },
     93    set protected(value) { test = "protected"; },
     94    get protected() { return "protected"; },
     95    set public(value) { test = "public"; },
     96    get public() { return "public"; },
     97 
     98    set let(value) { test = "let"; },
     99    get let() { return "let"; },
    100    set static(value) { test = "static"; },
    101    get static() { return "static"; },
    102 };
    103 
    104 var arr = [
    105    'await',
    106    'break',
    107    'case',
    108    'catch',
    109    'class',
    110    'const',
    111    'continue',
    112    'debugger',
    113    'default',
    114    'delete',
    115    'do',
    116    'else',
    117    'export',
    118    'extends',
    119    'finally',
    120    'for',
    121    'function',
    122    'if',
    123    'import',
    124    'in',
    125    'instanceof',
    126    'new',
    127    'return',
    128    'super',
    129    'switch',
    130    'this',
    131    'throw',
    132    'try',
    133    'typeof',
    134    'var',
    135    'void',
    136    'while',
    137    'with',
    138    'yield',
    139 
    140    'enum',
    141 
    142    'implements',
    143    'interface',
    144    'package',
    145    'protected',
    146    'private',
    147    'public',
    148 
    149    'let',
    150    'static',
    151 ];
    152 
    153 for (var i = 0; i < arr.length; ++i) {
    154    var propertyName = arr[i];
    155 
    156    assert(tokenCodes.hasOwnProperty(propertyName),
    157           'Property "' + propertyName + '" found');
    158 
    159    assert.sameValue(tokenCodes[propertyName], propertyName,
    160                     'Property "' + propertyName + '" has correct value');
    161 
    162    tokenCodes[propertyName] = 0;
    163    assert.sameValue(test, propertyName,
    164                     'Property "' + propertyName + '" sets correct value');
    165 }
    166 
    167 reportCompare(0, 0);