@@ -2299,11 +2299,27 @@ pub trait BlockNumberProvider {
22992299mod tests {
23002300 use super :: * ;
23012301 use crate :: codec:: { Decode , Encode , Input } ;
2302+ #[ cfg( feature = "bls-experimental" ) ]
2303+ use sp_core:: { bls377, bls381} ;
23022304 use sp_core:: {
23032305 crypto:: { Pair , UncheckedFrom } ,
2304- ecdsa,
2306+ ecdsa, ed25519 , sr25519 ,
23052307 } ;
23062308
2309+ macro_rules! signature_verify_test {
2310+ ( $algorithm: ident) => {
2311+ let msg = & b"test-message" [ ..] ;
2312+ let wrong_msg = & b"test-msg" [ ..] ;
2313+ let ( pair, _) = $algorithm:: Pair :: generate( ) ;
2314+
2315+ let signature = pair. sign( & msg) ;
2316+ assert!( $algorithm:: Pair :: verify( & signature, msg, & pair. public( ) ) ) ;
2317+
2318+ assert!( signature. verify( msg, & pair. public( ) ) ) ;
2319+ assert!( !signature. verify( wrong_msg, & pair. public( ) ) ) ;
2320+ } ;
2321+ }
2322+
23072323 mod t {
23082324 use sp_application_crypto:: { app_crypto, sr25519} ;
23092325 use sp_core:: crypto:: KeyTypeId ;
@@ -2413,15 +2429,28 @@ mod tests {
24132429 assert_eq ! ( buffer, [ 0 , 0 ] ) ;
24142430 }
24152431
2432+ #[ test]
2433+ fn ed25519_verify_works ( ) {
2434+ signature_verify_test ! ( ed25519) ;
2435+ }
2436+
2437+ #[ test]
2438+ fn sr25519_verify_works ( ) {
2439+ signature_verify_test ! ( sr25519) ;
2440+ }
2441+
24162442 #[ test]
24172443 fn ecdsa_verify_works ( ) {
2418- let msg = & b"test-message" [ .. ] ;
2419- let ( pair , _ ) = ecdsa :: Pair :: generate ( ) ;
2444+ signature_verify_test ! ( ecdsa ) ;
2445+ }
24202446
2421- let signature = pair. sign ( & msg) ;
2422- assert ! ( ecdsa:: Pair :: verify( & signature, msg, & pair. public( ) ) ) ;
2447+ #[ cfg( feature = "bls-experimental" ) ]
2448+ fn bls377_verify_works ( ) {
2449+ signature_verify_test ! ( bls377)
2450+ }
24232451
2424- assert ! ( signature. verify( msg, & pair. public( ) ) ) ;
2425- assert ! ( signature. verify( msg, & pair. public( ) ) ) ;
2452+ #[ cfg( feature = "bls-experimental" ) ]
2453+ fn bls381_verify_works ( ) {
2454+ signature_verify_test ! ( bls381)
24262455 }
24272456}
0 commit comments