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);