tor-browser

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

unscopables-get-err.js (967B)


      1 // Copyright 2015 Mike Pennisi. All rights reserved.
      2 // This code is governed by the BSD license found in the LICENSE file.
      3 
      4 /*---
      5 esid: sec-getidentifierreference
      6 es6id: 8.1.2.1
      7 description: >
      8  Behavior when accessing `Symbol.unscopables` property value throws an error
      9 info: |
     10  [...]
     11  2. Let envRec be lex's EnvironmentRecord.
     12  3. Let exists be ? envRec.HasBinding(name).
     13 
     14  8.1.1.2.1 HasBinding
     15 
     16  [...]
     17  5. If the withEnvironment flag of envRec is false, return true.
     18  6. Let unscopables be ? Get(bindings, @@unscopables).
     19 
     20  13.11.7 (The `with` Statement) Runtime Semantics: Evaluation
     21 
     22  [...]
     23  5. Set the withEnvironment flag of newEnv’s EnvironmentRecord to true.
     24  [...]
     25 flags: [noStrict]
     26 features: [Symbol.unscopables]
     27 ---*/
     28 
     29 var env = { x: 86 };
     30 Object.defineProperty(env, Symbol.unscopables, {
     31  get: function() {
     32    throw new Test262Error();
     33  }
     34 });
     35 
     36 with (env) {
     37  assert.throws(Test262Error, function() {
     38    x;
     39  });
     40 }
     41 
     42 reportCompare(0, 0);