tor-browser

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

unary-expr.js (1261B)


      1 // |reftest| async
      2 // Copyright (C) 2019 Alexey Shvayka. All rights reserved.
      3 // This code is governed by the BSD license found in the LICENSE file.
      4 /*---
      5 esid: prod-UnaryExpression
      6 description: >
      7  While increments and decrements are restricted to use with NewTarget,
      8  other unary operators should not throw SyntaxError.
      9 info: |
     10  UnaryExpression[Yield, Await]:
     11    UpdateExpression[?Yield, ?Await]:
     12      LeftHandSideExpression[?Yield, ?Await]:
     13        NewExpression[?Yield, ?Await]:
     14          MemberExpression[Yield, Await]:
     15            MetaProperty:
     16              NewTarget
     17 features: [new.target, async-functions]
     18 flags: [async]
     19 includes: [asyncHelpers.js]
     20 ---*/
     21 
     22 (function() { assert.sameValue(delete (new.target), true); })();
     23 (function() { assert.sameValue(void new.target, undefined); })();
     24 new function() { assert.sameValue(typeof new.target, 'function'); };
     25 new function() { assert.sameValue(+(new.target), NaN); };
     26 (function() { assert.sameValue(-(new.target), NaN); })();
     27 new function() { assert.sameValue(~new.target, -1); };
     28 (function() { assert.sameValue(!new.target, true); })();
     29 new function() { assert.sameValue(delete void typeof +-~!(new.target), true); };
     30 
     31 asyncTest(async function() {
     32  assert.sameValue(await new.target, undefined);
     33 });