tor-browser

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

iter-set-elem-prop-non-writable.js (958B)


      1 // Copyright (C) 2020 Alexey Shvayka. All rights reserved.
      2 // This code is governed by the BSD license found in the LICENSE file.
      3 
      4 /*---
      5 esid: sec-array.from
      6 description: >
      7  Non-writable properties are overwritten by CreateDataProperty.
      8  (result object's "0" is non-writable, items is iterable)
      9 info: |
     10  Array.from ( items [ , mapfn [ , thisArg ] ] )
     11 
     12  [...]
     13  5. If usingIterator is not undefined, then
     14    [...]
     15    e. Repeat,
     16      [...]
     17      viii. Let defineStatus be CreateDataPropertyOrThrow(A, Pk, mappedValue).
     18    [...]
     19 features: [generators]
     20 includes: [propertyHelper.js]
     21 ---*/
     22 
     23 var items = function* () {
     24  yield 2;
     25 };
     26 
     27 var A = function(_length) {
     28  Object.defineProperty(this, "0", {
     29    value: 1,
     30    writable: false,
     31    enumerable: false,
     32    configurable: true,
     33  });
     34 };
     35 
     36 var res = Array.from.call(A, items());
     37 
     38 verifyProperty(res, "0", {
     39  value: 2,
     40  writable: true,
     41  enumerable: true,
     42  configurable: true,
     43 });
     44 
     45 reportCompare(0, 0);