@@ -4,35 +4,38 @@ var test = require('tape')
44var algorithms = [ 'sha1' , 'sha224' , 'sha256' , 'sha384' , 'sha512' , 'md5' , 'rmd160' ]
55var encodings = [ /*'binary',*/ 'hex' , 'base64' ] ;
66var vectors = require ( 'hash-test-vectors' )
7+ testLib ( 'createHash in crypto-browserify' , require ( '../' ) . createHash ) ;
8+ testLib ( 'create-hash/browser' , require ( 'create-hash/browser' ) ) ;
9+ function testLib ( name , createHash ) {
10+ test ( name , function ( t ) {
11+ algorithms . forEach ( function ( algorithm ) {
12+ t . test ( 'test ' + algorithm + ' against test vectors' , function ( t ) {
13+ vectors . forEach ( function ( obj , i ) {
14+ var input = new Buffer ( obj . input , 'base64' )
15+ var node = obj [ algorithm ]
16+ var js = createHash ( algorithm ) . update ( input ) . digest ( 'hex' )
17+ t . equal ( js , node , algorithm + '(testVector[' + i + ']) == ' + node )
18+ } )
719
8- var createHash = require ( '../' ) . createHash
9-
10- algorithms . forEach ( function ( algorithm ) {
11- test ( 'test ' + algorithm + ' against test vectors' , function ( t ) {
12- vectors . forEach ( function ( obj , i ) {
13- var input = new Buffer ( obj . input , 'base64' )
14- var node = obj [ algorithm ]
15- var js = createHash ( algorithm ) . update ( input ) . digest ( 'hex' )
16- t . equal ( js , node , algorithm + '(testVector[' + i + ']) == ' + node )
17- } )
18-
19- encodings . forEach ( function ( encoding ) {
20+ encodings . forEach ( function ( encoding ) {
21+ vectors . forEach ( function ( obj , i ) {
22+ var input = new Buffer ( obj . input , 'base64' ) . toString ( encoding )
23+ var node = obj [ algorithm ]
24+ var js = createHash ( algorithm ) . update ( input , encoding ) . digest ( 'hex' )
25+ t . equal ( js , node , algorithm + '(testVector[' + i + '], ' + encoding + ') == ' + node )
26+ } )
27+ } ) ;
2028 vectors . forEach ( function ( obj , i ) {
21- var input = new Buffer ( obj . input , 'base64' ) . toString ( encoding )
29+ var input = new Buffer ( obj . input , 'base64' )
2230 var node = obj [ algorithm ]
23- var js = createHash ( algorithm ) . update ( input , encoding ) . digest ( 'hex' )
24- t . equal ( js , node , algorithm + '(testVector[' + i + '], ' + encoding + ') == ' + node )
31+ var hash = createHash ( algorithm ) ;
32+ hash . end ( input )
33+ var js = hash . read ( ) . toString ( 'hex' )
34+ t . equal ( js , node , algorithm + '(testVector[' + i + ']) == ' + node )
2535 } )
36+ t . end ( )
37+ } )
2638 } ) ;
27- vectors . forEach ( function ( obj , i ) {
28- var input = new Buffer ( obj . input , 'base64' )
29- var node = obj [ algorithm ]
30- var hash = createHash ( algorithm ) ;
31- hash . end ( input )
32- var js = hash . read ( ) . toString ( 'hex' )
33- t . equal ( js , node , algorithm + '(testVector[' + i + ']) == ' + node )
34- } )
35- t . end ( )
36- } )
37- } ) ;
3839
40+ } ) ;
41+ }
0 commit comments