MCPcopy Create free account
hub / github.com/nodejs/node / CheckDataViewErrorMessages

Function CheckDataViewErrorMessages

deps/v8/test/mjsunit/wasm/imported-dataview.js:228–268  ·  view source on GitHub ↗
(
    dataview_op, array, detach_check, set_to_value)

Source from the content-addressed store, hash-verified

226}
227
228function CheckDataViewErrorMessages(
229 dataview_op, array, detach_check, set_to_value) {
230 let dataview = new DataView(array.buffer);
231
232 // Incompatible receiver (number).
233 let params = [123, 0];
234 if (set_to_value !== undefined) params.push(set_to_value);
235 CheckStackTrace(
236 () => instance.exports[dataview_op](...params),
237 () => DataView.prototype[dataview_op].call(...params), dataview_op);
238
239 // Incompatible receiver (string).
240 params = ['test_string', 0];
241 if (set_to_value !== undefined) params.push(set_to_value);
242 CheckStackTrace(
243 () => instance.exports[dataview_op](...params),
244 () => DataView.prototype[dataview_op].call(...params), dataview_op);
245
246 // Offset bounds check.
247 params = [dataview, -1];
248 if (set_to_value !== undefined) params.push(set_to_value);
249 CheckStackTrace(
250 () => instance.exports[dataview_op](...params),
251 () => DataView.prototype[dataview_op].call(...params), dataview_op);
252
253 // Dataview bounds check (expect the buffer index 100 is out of bounds).
254 params = [dataview, 100];
255 if (set_to_value !== undefined) params.push(set_to_value);
256 CheckStackTrace(
257 () => instance.exports[dataview_op](...params),
258 () => DataView.prototype[dataview_op].call(...params), dataview_op);
259
260 // Detached buffer.
261 if (!detach_check) return;
262 params = [dataview, 0];
263 if (set_to_value !== undefined) params.push(set_to_value);
264 %ArrayBufferDetach(array.buffer);
265 CheckStackTrace(
266 () => instance.exports[dataview_op](...params),
267 () => DataView.prototype[dataview_op].call(...params), dataview_op);
268}
269
270let instance = MakeInstance();
271

Callers 1

Calls 3

CheckStackTraceFunction · 0.70
pushMethod · 0.45
callMethod · 0.45

Tested by

no test coverage detected