‘liusuyi’
2023-08-09 161b9318e345c8a0c9cdc133b33a1c759495f323
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
'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');
  });
});
}