'use strict';
const common = require('../../common');
const assert = require('assert');
const test_dataview = require(`./build/${common.buildType}/test_dataview`);
{
const buffer = new ArrayBuffer(128);
const template = Reflect.construct(DataView, [buffer]);
const theDataview = test_dataview.CreateDataViewFromJSDataView(template);
assert.ok(theDataview instanceof DataView,
`Expect ${theDataview} to be a DataView`);
}
{
const buffer = new SharedArrayBuffer(128);
const template = new DataView(buffer);
const theDataview = test_dataview.CreateDataViewFromJSDataView(template);
assert.ok(theDataview instanceof DataView,
`Expect ${theDataview} to be a DataView`);
assert.strictEqual(template.buffer, theDataview.buffer);
}
{
const buffer = new ArrayBuffer(128);
assert.throws(() => {
test_dataview.CreateDataView(buffer, 10, 200);
}, RangeError);
}
{
const buffer = new SharedArrayBuffer(128);
assert.throws(() => {
test_dataview.CreateDataView(buffer, 10, 200);
}, RangeError);
}