tor-browser

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

15.2.3.6-4-536.js (1255B)


      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-536
      6 description: >
      7    ES5 Attributes - success to update [[Enumerable]] attribute of
      8    accessor property ([[Get]] is a Function, [[Set]] is a Function,
      9    [[Enumerable]] is true, [[Configurable]] is true) 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: true
     29 });
     30 var result1 = false;
     31 var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
     32 for (var p1 in obj) {
     33  if (p1 === "prop") {
     34    result1 = true;
     35  }
     36 }
     37 
     38 Object.defineProperty(obj, "prop", {
     39  enumerable: false
     40 });
     41 var result2 = false;
     42 var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
     43 for (var p2 in obj) {
     44  if (p2 === "prop") {
     45    result2 = true;
     46  }
     47 }
     48 
     49 assert(result1, 'result1 !== true');
     50 assert.sameValue(result2, false, 'result2');
     51 assert.sameValue(desc1.enumerable, true, 'desc1.enumerable');
     52 assert.sameValue(desc2.enumerable, false, 'desc2.enumerable');
     53 
     54 reportCompare(0, 0);