tor-browser

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

15.2.3.6-4-543.js (1143B)


      1 // Copyright (c) 2012 Ecma International.  All rights reserved.
      2 // This code is governed by the BSD license found in the LICENSE file.
      3 
      4 /*---
      5 es5id: 15.2.3.6-4-543
      6 description: >
      7    ES5 Attributes - fail to update [[Get]] attribute of accessor
      8    property ([[Get]] is a Function, [[Set]] is a Function,
      9    [[Enumerable]] is true, [[Configurable]] is false) to different
     10    value
     11 ---*/
     12 
     13 var obj = {};
     14 
     15 var getFunc = function() {
     16  return 1001;
     17 };
     18 
     19 var verifySetFunc = "data";
     20 var setFunc = function(value) {
     21  verifySetFunc = value;
     22 };
     23 
     24 Object.defineProperty(obj, "prop", {
     25  get: getFunc,
     26  set: setFunc,
     27  enumerable: true,
     28  configurable: false
     29 });
     30 
     31 var result1 = obj.prop === 1001;
     32 var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
     33 assert.throws(TypeError, function() {
     34  Object.defineProperty(obj, "prop", {
     35    get: undefined
     36  });
     37 });
     38 var result2 = obj.prop === 1001;
     39 var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
     40 
     41 assert(result1, 'result1 !== true');
     42 assert(result2, 'result2 !== true');
     43 assert.sameValue(desc1.get, getFunc, 'desc1.get');
     44 assert.sameValue(desc2.get, getFunc, 'desc2.get');
     45 
     46 reportCompare(0, 0);