tor-browser

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

define-symbol-properties.js (1070B)


      1 // Copyright (C) 2015 the V8 project authors. All rights reserved.
      2 // This code is governed by the BSD license found in the LICENSE file.
      3 /*---
      4 es6id: 26.1.3
      5 description: >
      6  Define symbol properties.
      7 info: |
      8  26.1.3 Reflect.defineProperty ( target, propertyKey, attributes )
      9 
     10  ...
     11  2. Let key be ToPropertyKey(propertyKey).
     12  ...
     13 
     14  7.1.14 ToPropertyKey ( argument )
     15 
     16  ...
     17  3. If Type(key) is Symbol, then
     18    a. Return key.
     19  ...
     20 features: [Reflect, Symbol]
     21 ---*/
     22 
     23 var o = {};
     24 var desc;
     25 
     26 var s1 = Symbol('1');
     27 
     28 Reflect.defineProperty(o, s1, {
     29  value: 42,
     30  writable: true,
     31  enumerable: true
     32 });
     33 
     34 assert.sameValue(o[s1], 42);
     35 
     36 desc = Object.getOwnPropertyDescriptor(o, s1);
     37 
     38 assert.sameValue(desc.writable, true);
     39 assert.sameValue(desc.configurable, false);
     40 assert.sameValue(desc.enumerable, true);
     41 
     42 var s2 = Symbol('2');
     43 
     44 var f1 = function() {};
     45 var f2 = function() {};
     46 Reflect.defineProperty(o, s2, {
     47  get: f1,
     48  set: f2
     49 });
     50 
     51 desc = Object.getOwnPropertyDescriptor(o, s2);
     52 assert.sameValue(desc.get, f1);
     53 assert.sameValue(desc.set, f2);
     54 
     55 reportCompare(0, 0);