tor-browser

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

15.2.3.6-4-547-2.js (1608B)


      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-547-2
      6 description: >
      7    ES5 Attributes - Updating a named accessor property 'P' whose
      8    [[Configurable]] attribute is false to a data property does not
      9    succeed, 'A' is an Arguments object (8.12.9 step 9.a)
     10 includes: [propertyHelper.js]
     11 ---*/
     12 
     13 var obj = (function() {
     14  return arguments;
     15 }());
     16 
     17 obj.verifySetFunc = "data";
     18 var getFunc = function() {
     19  return obj.verifySetFunc;
     20 };
     21 
     22 var setFunc = function(value) {
     23  obj.verifySetFunc = value;
     24 };
     25 
     26 Object.defineProperty(obj, "prop", {
     27  get: getFunc,
     28  set: setFunc,
     29  enumerable: true,
     30  configurable: false
     31 });
     32 var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
     33 
     34 try {
     35  Object.defineProperty(obj, "prop", {
     36    value: 1001
     37  });
     38 
     39  throw new Test262Error("Expected an exception.");
     40 } catch (e) {
     41  var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
     42 
     43  if (!desc1.hasOwnProperty("get")) {
     44    throw new Test262Error('Expected desc1.hasOwnProperty("get") to be true, actually ' + desc1.hasOwnProperty("get"));
     45  }
     46 
     47  if (desc2.hasOwnProperty("value")) {
     48    throw new Test262Error('Expected !desc2.hasOwnProperty("value") to be true, actually ' + !desc2.hasOwnProperty("value"));
     49  }
     50 
     51 
     52  verifyEqualTo(obj, "prop", getFunc());
     53 
     54  verifyWritable(obj, "prop", "verifySetFunc");
     55 
     56  if (!(e instanceof TypeError)) {
     57    throw new Test262Error("Expected TypeError, got " + e);
     58  }
     59 }
     60 
     61 verifyProperty(obj, "prop", {
     62  enumerable: true,
     63  configurable: false,
     64 });
     65 
     66 reportCompare(0, 0);