23 lines
860 B
JavaScript
23 lines
860 B
JavaScript
/* eslint-disable no-new */
|
|
var global = require('../internals/global');
|
|
var fails = require('../internals/fails');
|
|
var checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');
|
|
var NATIVE_ARRAY_BUFFER_VIEWS = require('../internals/array-buffer-view-core').NATIVE_ARRAY_BUFFER_VIEWS;
|
|
|
|
var ArrayBuffer = global.ArrayBuffer;
|
|
var Int8Array = global.Int8Array;
|
|
|
|
module.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () {
|
|
Int8Array(1);
|
|
}) || !fails(function () {
|
|
new Int8Array(-1);
|
|
}) || !checkCorrectnessOfIteration(function (iterable) {
|
|
new Int8Array();
|
|
new Int8Array(null);
|
|
new Int8Array(1.5);
|
|
new Int8Array(iterable);
|
|
}, true) || fails(function () {
|
|
// Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill
|
|
return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1;
|
|
});
|