tor-browser

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

instance-extensibility.js (1313B)


      1 // Copyright (C) 2016 the V8 project authors. All rights reserved.
      2 // This code is governed by the BSD license found in the LICENSE file.
      3 
      4 /*---
      5 esid: sec-dataview-buffer-byteoffset-bytelength
      6 description: >
      7  The new instance is extensible
      8 info: |
      9  24.2.2.1 DataView (buffer, byteOffset, byteLength )
     10 
     11  ...
     12  12. Let O be ? OrdinaryCreateFromConstructor(NewTarget, "%DataViewPrototype%",
     13  « [[DataView]], [[ViewedArrayBuffer]], [[ByteLength]], [[ByteOffset]] »).
     14  ...
     15  17. Return O.
     16 
     17  9.1.13 OrdinaryCreateFromConstructor ( constructor, intrinsicDefaultProto [ ,
     18  internalSlotsList ] )
     19 
     20  ...
     21  3. Return ObjectCreate(proto, internalSlotsList).
     22 
     23  9.1.12 ObjectCreate (proto [ , internalSlotsList ])
     24 
     25  ...
     26  5. Set the [[Extensible]] internal slot of obj to true.
     27  ...
     28 includes: [propertyHelper.js]
     29 ---*/
     30 
     31 var buffer = new ArrayBuffer(8);
     32 var sample = new DataView(buffer, 0);
     33 
     34 assert(Object.isExtensible(sample));
     35 
     36 Object.defineProperty(sample, 'baz', {});
     37 assert(sample.hasOwnProperty('baz'), 'confirms extensibility adding a new property');
     38 
     39 Object.defineProperty(sample, 'foo', {
     40  value: 'bar',
     41  writable: true,
     42  configurable: true,
     43  enumerable: false,
     44 });
     45 
     46 verifyProperty(sample, 'foo', {
     47  value: 'bar',
     48  writable: true,
     49  configurable: true,
     50  enumerable: false,
     51 });
     52 
     53 reportCompare(0, 0);