@@ -81,6 +81,14 @@ pub fn get<S: AsRef<str>>(extension: S) -> Option<HasherFn> {
8181mod tests {
8282 use super :: * ;
8383
84+ fn test_hasher ( extension : & str , expected : & str ) -> Result < ( ) > {
85+ let hasher = get ( extension) . unwrap ( ) ;
86+ let data = vec ! [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ] ;
87+ let hash = hasher ( & data) ?;
88+ assert_eq ! ( expected, hash) ;
89+ Ok ( ( ) )
90+ }
91+
8492 #[ test]
8593 fn test_register ( ) -> Result < ( ) > {
8694 let extension = "sha256" ;
@@ -91,92 +99,57 @@ mod tests {
9199 register ( extension, sha2_256:: hash) ;
92100 assert_eq ! ( hashers, REGISTRY . lock( ) . unwrap( ) . hashers. len( ) ) ;
93101
94- let hasher = get ( extension) . unwrap ( ) ;
95- let data = vec ! [ 1 , 2 , 3 ] ;
96- let hash = hasher ( & data) ?;
97-
98- assert_eq ! (
99- "039058c6f2c0cb492c533b0a4d14ef77cc0f78abccced5287d84a1a2011cfb81" ,
100- hash
101- ) ;
102- Ok ( ( ) )
102+ test_hasher (
103+ extension,
104+ "9a89c68c4c5e28b8c4a5567673d462fff515db46116f9900624d09c474f593fb" ,
105+ )
103106 }
104107
105108 #[ test]
106109 fn test_sha2_256 ( ) -> Result < ( ) > {
107- let hasher = get ( "sha256" ) . unwrap ( ) ;
108- let data = vec ! [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ] ;
109- let hash = hasher ( & data) ?;
110-
111- assert_eq ! (
110+ test_hasher (
111+ "sha256" ,
112112 "9a89c68c4c5e28b8c4a5567673d462fff515db46116f9900624d09c474f593fb" ,
113- hash
114- ) ;
115- Ok ( ( ) )
113+ )
116114 }
117115
118116 #[ test]
119117 fn test_sha2_512 ( ) -> Result < ( ) > {
120- let hasher = get ( "sha512" ) . unwrap ( ) ;
121- let data = vec ! [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ] ;
122- let hash = hasher ( & data) ?;
123-
124- assert_eq ! (
118+ test_hasher (
119+ "sha512" ,
125120 "3ad3f36979450d4f53366244ecf1010f4f9121d6888285ff14104fd5aded85d48aa171bf1e33a112602f92b7a7088b298789012fb87b9056321241a19fb74e0b" ,
126- hash
127- ) ;
128- Ok ( ( ) )
121+ )
129122 }
130123
131124 #[ test]
132125 fn test_sha3_256 ( ) -> Result < ( ) > {
133- let hasher = get ( "sha3-256" ) . unwrap ( ) ;
134- let data = vec ! [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ] ;
135- let hash = hasher ( & data) ?;
136-
137- assert_eq ! (
126+ test_hasher (
127+ "sha3-256" ,
138128 "c0188232190e0427fc9cc78597221c76c799528660889bd6ce1f3563148ff84d" ,
139- hash
140- ) ;
141- Ok ( ( ) )
129+ )
142130 }
143131
144132 #[ test]
145133 fn test_sha3_512 ( ) -> Result < ( ) > {
146- let hasher = get ( "sha3-512" ) . unwrap ( ) ;
147- let data = vec ! [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ] ;
148- let hash = hasher ( & data) ?;
149-
150- assert_eq ! (
134+ test_hasher (
135+ "sha3-512" ,
151136 "9429fc1f9772cc1d8039fe75cc1b033cd60f0ec4face0f8a514d25b0649ba8a5954b6c7a41cc3697a56db3ff321475be1fa14b70c7eb78fec6ce62dbfc54c9d3" ,
152- hash
153- ) ;
154- Ok ( ( ) )
137+ )
155138 }
156139
157140 #[ test]
158141 fn test_blake2s_256 ( ) -> Result < ( ) > {
159- let hasher = get ( "blake2s" ) . unwrap ( ) ;
160- let data = vec ! [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ] ;
161- let hash = hasher ( & data) ?;
162-
163- assert_eq ! (
142+ test_hasher (
143+ "blake2s" ,
164144 "7125921e06071710350390fe902856dbea366a5d6f5ee26c18e741143ac80061" ,
165- hash
166- ) ;
167- Ok ( ( ) )
145+ )
168146 }
169147
170148 #[ test]
171- fn test_blake2s_512 ( ) -> Result < ( ) > {
172- let hasher = get ( "blake2s" ) . unwrap ( ) ;
173- let data = vec ! [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ] ;
174- let hash = hasher ( & data) ?;
175-
176- assert_eq ! (
177- "7125921e06071710350390fe902856dbea366a5d6f5ee26c18e741143ac80061" ,
178- hash
179- ) ;
180- Ok ( ( ) )
149+ fn test_blake2b_512 ( ) -> Result < ( ) > {
150+ test_hasher (
151+ "blake2b" ,
152+ "67767f1cab415502dcceec9f099fb84539b1c73c5ebdcfe1bb8ca7411e3b6cb33e304f49222edac9bdaa74129e9e13f11f215b8560f9081f0e8f1f869162bf46" ,
153+ )
181154 }
182155}
0 commit comments