defined-byteoffset-undefined-bytelength-sab.js (2406B)
1 // |reftest| skip-if(!this.hasOwnProperty('SharedArrayBuffer')) -- SharedArrayBuffer is not enabled unconditionally 2 // Copyright (C) 2016 the V8 project authors. All rights reserved. 3 // Copyright (C) 2017 Mozilla Corporation. All rights reserved. 4 // This code is governed by the BSD license found in the LICENSE file. 5 6 /*--- 7 esid: sec-dataview-buffer-byteoffset-bytelength 8 description: > 9 Return new instance from defined byteoffset and undefined bytelength 10 info: | 11 24.2.2.1 DataView (buffer, byteOffset, byteLength ) 12 13 ... 14 8. If byteLength is either not present or undefined, then 15 a. Let viewByteLength be bufferByteLength - offset. 16 ... 17 17. Return O. 18 features: [SharedArrayBuffer] 19 ---*/ 20 21 var sample; 22 var buffer = new SharedArrayBuffer(4); 23 24 sample = new DataView(buffer, 0, undefined); 25 assert.sameValue(sample.byteLength, 4, "sample.byteLength"); 26 assert.sameValue(sample.byteOffset, 0, "sample.byteOffset"); 27 assert.sameValue(sample.buffer, buffer); 28 assert.sameValue(sample.constructor, DataView); 29 assert.sameValue(Object.getPrototypeOf(sample), DataView.prototype); 30 31 sample = new DataView(buffer, 1, undefined); 32 assert.sameValue(sample.byteLength, 3, "sample.byteLength"); 33 assert.sameValue(sample.byteOffset, 1, "sample.byteOffset"); 34 assert.sameValue(sample.buffer, buffer); 35 assert.sameValue(sample.constructor, DataView); 36 assert.sameValue(Object.getPrototypeOf(sample), DataView.prototype); 37 38 sample = new DataView(buffer, 2, undefined); 39 assert.sameValue(sample.byteLength, 2, "sample.byteLength"); 40 assert.sameValue(sample.byteOffset, 2, "sample.byteOffset"); 41 assert.sameValue(sample.buffer, buffer); 42 assert.sameValue(sample.constructor, DataView); 43 assert.sameValue(Object.getPrototypeOf(sample), DataView.prototype); 44 45 sample = new DataView(buffer, 3, undefined); 46 assert.sameValue(sample.byteLength, 1, "sample.byteLength"); 47 assert.sameValue(sample.byteOffset, 3, "sample.byteOffset"); 48 assert.sameValue(sample.buffer, buffer); 49 assert.sameValue(sample.constructor, DataView); 50 assert.sameValue(Object.getPrototypeOf(sample), DataView.prototype); 51 52 sample = new DataView(buffer, 4, undefined); 53 assert.sameValue(sample.byteLength, 0, "sample.byteLength"); 54 assert.sameValue(sample.byteOffset, 4, "sample.byteOffset"); 55 assert.sameValue(sample.buffer, buffer); 56 assert.sameValue(sample.constructor, DataView); 57 assert.sameValue(Object.getPrototypeOf(sample), DataView.prototype); 58 59 reportCompare(0, 0);