(
dataview_op, array, detach_check, set_to_value)
| 226 | } |
| 227 | |
| 228 | function 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 | |
| 270 | let instance = MakeInstance(); |
| 271 |
no test coverage detected