mirror of
https://github.com/nodejs/node.git
synced 2025-05-06 06:38:13 +00:00

The API is required that `byte_length + byte_offset` is less than or equal to the size in bytes of the array passed in. If not, a RangeError exception is raised[1]. [1] https://nodejs.org/api/n-api.html#n_api_napi_create_dataview PR-URL: https://github.com/nodejs/node/pull/17869 Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: James M Snell <jasnell@gmail.com>
25 lines
692 B
JavaScript
25 lines
692 B
JavaScript
'use strict';
|
|
const common = require('../../common');
|
|
const assert = require('assert');
|
|
|
|
// Testing api calls for arrays
|
|
const test_dataview = require(`./build/${common.buildType}/test_dataview`);
|
|
|
|
// Test for creating 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`);
|
|
}
|
|
|
|
// Test for creating dataview with invalid range
|
|
{
|
|
const buffer = new ArrayBuffer(128);
|
|
assert.throws(() => {
|
|
test_dataview.CreateDataView(buffer, 10, 200);
|
|
}, RangeError);
|
|
}
|