diff --git a/index.js b/index.js index 4a57ffc..395036e 100644 --- a/index.js +++ b/index.js @@ -35,10 +35,10 @@ function hasBinary (obj) { return false; } - if ((global.Buffer && global.Buffer.isBuffer && global.Buffer.isBuffer(obj)) || - (global.ArrayBuffer && obj instanceof ArrayBuffer) || - (global.Blob && obj instanceof Blob) || - (global.File && obj instanceof File) + if ((typeof global.Buffer === 'function' && global.Buffer.isBuffer && global.Buffer.isBuffer(obj)) || + (typeof global.ArrayBuffer === 'function' && obj instanceof ArrayBuffer) || + (typeof global.Blob === 'function' && obj instanceof Blob) || + (typeof global.File === 'function' && obj instanceof File) ) { return true; } diff --git a/test.js b/test.js index bbe12f1..8e65ff3 100644 --- a/test.js +++ b/test.js @@ -73,5 +73,10 @@ describe('has-binarydata', function () { it('should work with a Blob', function () { assert(hasBinary(new Blob())); }); + } else { + it('should not crash if global Blob is not a function', function () { + global.Blob = [ 1, 2, 3 ]; + assert(!hasBinary(global.Blob)); + }); } });