tor-browser

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

iter-set-elem-prop.js (1318B)


      1 // Copyright (C) 2015 the V8 project authors. All rights reserved.
      2 // This code is governed by the BSD license found in the LICENSE file.
      3 /*---
      4 esid: sec-array.from
      5 description: Setting property on result value (traversed via iterator)
      6 info: |
      7    [...]
      8    6. If usingIterator is not undefined, then
      9       [...]
     10       g. Repeat
     11          [...]
     12          ix. Let defineStatus be CreateDataPropertyOrThrow(A, Pk,
     13              mappedValue).
     14 features: [Symbol.iterator]
     15 ---*/
     16 
     17 var items = {};
     18 var firstIterResult = {
     19  done: false,
     20  value: {}
     21 };
     22 var secondIterResult = {
     23  done: false,
     24  value: {}
     25 };
     26 var thirdIterResult = {
     27  done: true,
     28  value: {}
     29 };
     30 var nextIterResult = firstIterResult;
     31 var nextNextIterResult = secondIterResult;
     32 var result;
     33 
     34 items[Symbol.iterator] = function() {
     35  return {
     36    next: function() {
     37      var result = nextIterResult;
     38 
     39      nextIterResult = nextNextIterResult;
     40      nextNextIterResult = thirdIterResult;
     41 
     42      return result;
     43    }
     44  };
     45 };
     46 
     47 result = Array.from(items);
     48 
     49 assert.sameValue(
     50  result[0],
     51  firstIterResult.value,
     52  'The value of result[0] is expected to equal the value of firstIterResult.value'
     53 );
     54 assert.sameValue(
     55  result[1],
     56  secondIterResult.value,
     57  'The value of result[1] is expected to equal the value of secondIterResult.value'
     58 );
     59 
     60 reportCompare(0, 0);