tor-browser

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

same-line-async-method-rs-static-privatename-identifier-initializer-alt.js (2751B)


      1 // |reftest| async
      2 // This file was procedurally generated from the following sources:
      3 // - src/class-elements/rs-static-privatename-identifier-initializer-alt.case
      4 // - src/class-elements/productions/cls-decl-after-same-line-async-method.template
      5 /*---
      6 description: Valid Static PrivateName (field definitions after an async method in the same line)
      7 esid: prod-FieldDefinition
      8 features: [class-static-fields-private, class, class-fields-public, async-functions]
      9 flags: [generated, async]
     10 includes: [propertyHelper.js]
     11 info: |
     12    ClassElement :
     13      MethodDefinition
     14      static MethodDefinition
     15      FieldDefinition ;
     16      static FieldDefinition ;
     17      ;
     18 
     19    FieldDefinition :
     20      ClassElementName Initializer _opt
     21 
     22    ClassElementName :
     23      PropertyName
     24      PrivateName
     25 
     26    PrivateName ::
     27      # IdentifierName
     28 
     29    IdentifierName ::
     30      IdentifierStart
     31      IdentifierName IdentifierPart
     32 
     33    IdentifierStart ::
     34      UnicodeIDStart
     35      $
     36      _
     37      \ UnicodeEscapeSequence
     38 
     39    IdentifierPart::
     40      UnicodeIDContinue
     41      $
     42      \ UnicodeEscapeSequence
     43      <ZWNJ> <ZWJ>
     44 
     45    UnicodeIDStart::
     46      any Unicode code point with the Unicode property "ID_Start"
     47 
     48    UnicodeIDContinue::
     49      any Unicode code point with the Unicode property "ID_Continue"
     50 
     51 
     52    NOTE 3
     53    The sets of code points with Unicode properties "ID_Start" and
     54    "ID_Continue" include, respectively, the code points with Unicode
     55    properties "Other_ID_Start" and "Other_ID_Continue".
     56 
     57 ---*/
     58 
     59 
     60 class C {
     61  async m() { return 42; } static #$ = 1; static #_ = 1; static #\u{6F} = 1; static #℘ = 1; static #ZW__NJ = 1; static #ZW__J = 1;
     62  static $() {
     63    return this.#$;
     64  }
     65  static _() {
     66    return this.#_;
     67  }
     68  static \u{6F}() {
     69    return this.#\u{6F};
     70  }
     71  static () {
     72    return this.#℘;
     73  }
     74  static ZW_‌_NJ() {
     75    return this.#ZW__NJ;
     76  }
     77  static ZW_‍_J() {
     78    return this.#ZW__J;
     79  }
     80 }
     81 
     82 var c = new C();
     83 
     84 assert(
     85  !Object.prototype.hasOwnProperty.call(c, "m"),
     86  "m doesn't appear as an own property on the C instance"
     87 );
     88 assert.sameValue(c.m, C.prototype.m);
     89 
     90 verifyProperty(C.prototype, "m", {
     91  enumerable: false,
     92  configurable: true,
     93  writable: true,
     94 }, {restore: true});
     95 
     96 c.m().then(function(v) {
     97  assert.sameValue(v, 42);
     98 
     99  function assertions() {
    100    // Cover $DONE handler for async cases.
    101    function $DONE(error) {
    102      if (error) {
    103        throw new Test262Error('Test262:AsyncTestFailure')
    104      }
    105    }
    106    assert.sameValue(C.$(), 1);
    107    assert.sameValue(C._(), 1);
    108    assert.sameValue(C.\u{6F}(), 1);
    109    assert.sameValue(C.(), 1);
    110    assert.sameValue(C.ZW_‌_NJ(), 1);
    111    assert.sameValue(C.ZW_‍_J(), 1);
    112 
    113  }
    114 
    115  return Promise.resolve(assertions());
    116 }).then($DONE, $DONE);