tor-browser

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

symbol_property_toString.js (831B)


      1 // Copyright (C) 2021 Jamie Kyle.  All rights reserved.
      2 // This code is governed by the BSD license found in the LICENSE file.
      3 
      4 /*---
      5 esid: sec-object.hasown
      6 description: Object.hasOwn with symbol and toString conversion
      7 info: |
      8  Object.hasOwn ( _O_, _P_ )
      9 
     10  1. Let _obj_ be ? ToObject(_O_).
     11  1. Let _key_ be ? ToPropertyKey(_P_).
     12  ...
     13 author: Jamie Kyle
     14 features: [Symbol, Object.hasOwn]
     15 ---*/
     16 
     17 var obj = {};
     18 var sym = Symbol();
     19 
     20 var callCount = 0;
     21 var wrapper = {
     22  toString: function() {
     23    callCount += 1;
     24    return sym;
     25  },
     26  valueOf: function () {
     27    throw new Test262Error("valueOf() called")
     28  }
     29 };
     30 
     31 obj[sym] = 0;
     32 
     33 assert.sameValue(
     34  Object.hasOwn(obj, wrapper),
     35  true,
     36  "Returns true if symbol own property found"
     37 );
     38 
     39 assert.sameValue(callCount, 1, "toString method called exactly once");
     40 
     41 reportCompare(0, 0);