'use strict'; var assert = require('assert'); var hash = require('../index'); if (typeof Blob !== 'undefined') { describe('hash()ing Blob objects', function() { var blob; before('create blob', function() { try { blob = new Blob(['ABC']); } catch(e) { // https://github.com/ariya/phantomjs/issues/11013 if (!e.message.match(/'\[object BlobConstructor\]' is not a constructor/)) { throw e; } var builder = new WebKitBlobBuilder(); builder.append('ABC'); blob = builder.getBlob(); } }); it('should throw when trying to hash a blob', function() { assert.throws(function() { hash(blob); }, /not supported/); assert.throws(function() { hash({abcdef: blob}); }, /not supported/); }); it('should not throw when trying to hash a blob with ignoreUnknown', function() { var opt = {ignoreUnknown: true}; assert.ok(validSha1.test(hash(blob, opt)), 'ignore Blob'); assert.ok(validSha1.test(hash({abcdef: blob}, opt)), 'ignore Blob'); }); }); }