tor-browser

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

sets-length.js (852B)


      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.of
      5 description: >
      6  Calls the length setter if available
      7 info: |
      8  Array.of ( ...items )
      9 
     10  ...
     11  9. Let setStatus be Set(A, "length", len, true).
     12  ...
     13 ---*/
     14 
     15 var hits = 0;
     16 var value;
     17 var _this_;
     18 
     19 function Pack() {
     20  Object.defineProperty(this, "length", {
     21    set: function(len) {
     22      hits++;
     23      value = len;
     24      _this_ = this;
     25    }
     26  });
     27 }
     28 
     29 var result = Array.of.call(Pack, 'wolves', 'cards', 'cigarettes', 'lies');
     30 
     31 assert.sameValue(hits, 1, 'The value of hits is expected to be 1');
     32 assert.sameValue(
     33  value, 4,
     34  'The value of value is expected to be 4'
     35 );
     36 assert.sameValue(_this_, result, 'The value of _this_ is expected to equal the value of result');
     37 
     38 reportCompare(0, 0);