You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							41 lines
						
					
					
						
							1.0 KiB
						
					
					
				
			
		
		
	
	
							41 lines
						
					
					
						
							1.0 KiB
						
					
					
				'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'); | 
						|
  }); | 
						|
}); | 
						|
}
 | 
						|
 |