tor-browser

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

delete-non-exported.js (1281B)


      1 // |reftest| module
      2 // Copyright (C) 2016 the V8 project authors. All rights reserved.
      3 // This code is governed by the BSD license found in the LICENSE file.
      4 /*---
      5 esid: sec-module-namespace-exotic-objects-delete-p
      6 description: >
      7    [[Delete]] behavior for a key that does not describe an exported binding
      8 info: |
      9    [...]
     10    2. If Type(P) is Symbol, then
     11        a. Return ? OrdinaryDelete(O, P).
     12    3. Let exports be O.[[Exports]].
     13    4. If P is an element of exports, return false.
     14    5. Return true.
     15 flags: [module]
     16 features: [Reflect, Symbol, Symbol.toStringTag]
     17 ---*/
     18 
     19 import * as ns from './delete-non-exported.js';
     20 var sym = Symbol('test262');
     21 
     22 assert(delete ns.undef, 'delete: undef');
     23 assert(Reflect.deleteProperty(ns, 'undef'), 'Reflect.deleteProperty: undef');
     24 
     25 assert(delete ns.default, 'delete: default');
     26 assert(
     27  Reflect.deleteProperty(ns, 'default'), 'Reflect.deleteProperty: default'
     28 );
     29 
     30 assert.throws(TypeError, function() { delete ns[Symbol.toStringTag]; }, 'delete: Symbol.toStringTag');
     31 assert.sameValue(
     32  Reflect.deleteProperty(ns, Symbol.toStringTag), false,
     33  'Reflect.deleteProperty: Symbol.toStringTag'
     34 );
     35 
     36 assert(delete ns[sym], 'delete: symbol');
     37 assert(Reflect.deleteProperty(ns, sym), 'Reflect.deleteProperty: symbol');
     38 
     39 reportCompare(0, 0);