tor-browser

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

15.2.3.6-4-489.js (1208B)


      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-489
      6 description: >
      7    ES5 Attributes - fail to update [[Get]] attribute of accessor
      8    property ([[Get]] is undefined, [[Set]] is a Function,
      9    [[Enumerable]] is false, [[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: undefined,
     26  set: setFunc,
     27  enumerable: false,
     28  configurable: false
     29 });
     30 
     31 var result1 = typeof obj.prop === "undefined";
     32 var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
     33 assert.throws(TypeError, function() {
     34  Object.defineProperty(obj, "prop", {
     35    get: getFunc
     36  });
     37 });
     38 var result2 = typeof obj.prop === "undefined";
     39 var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
     40 
     41 assert(result1, 'result1 !== true');
     42 assert(result2, 'result2 !== true');
     43 assert.sameValue(typeof desc1.get, "undefined", 'typeof desc1.get');
     44 assert.sameValue(typeof desc2.get, "undefined", 'typeof desc2.get');
     45 
     46 reportCompare(0, 0);