Skip to content

Commit d5108f6

Browse files
committed
[Fix] node 0.8: an object arg to a TA only throws a RangeError when it is an ArrayBuffer of an incompatible byte length
1 parent 133732e commit d5108f6

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ module.exports = $byteLength || $abSlice
3535
try {
3636
return (new $Float32Array(obj)).buffer === obj && !isTypedArray(obj);
3737
} catch (e) {
38-
return false;
38+
return typeof obj === 'object' && e.name === 'RangeError';
3939
}
4040
}
4141
: function isArrayBuffer(obj) { // eslint-disable-line no-unused-vars

test/index.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,11 @@ test('isArrayBuffer', function (t) {
2121

2222
t.test('actual ArrayBuffer instances', { skip: typeof ArrayBuffer === 'undefined' }, function (st) {
2323
var ab = new ArrayBuffer();
24-
2524
st.equal(isArrayBuffer(ab), true, inspect(ab) + ' is an ArrayBuffer');
2625

26+
var ab42 = new ArrayBuffer(42);
27+
st.equal(isArrayBuffer(ab42), true, inspect(ab42) + ' is an ArrayBuffer');
28+
2729
st.end();
2830
});
2931

0 commit comments

Comments
 (0)