@@ -199,7 +199,7 @@ impl SecretKey {
199199 }
200200}
201201
202- #[ cfg( feature = "serde" ) ]
202+ #[ cfg( all ( feature = "serde" , feature = "serde-secrets" ) ) ]
203203impl :: serde:: Serialize for SecretKey {
204204 fn serialize < S : :: serde:: Serializer > ( & self , s : S ) -> Result < S :: Ok , S :: Error > {
205205 if s. is_human_readable ( ) {
@@ -933,17 +933,14 @@ mod test {
933933
934934 #[ cfg( feature = "serde" ) ]
935935 #[ test]
936- fn test_serde ( ) {
936+ fn test_serde_pk ( ) {
937937 use serde_test:: { Configure , Token , assert_tokens} ;
938938 static SK_BYTES : [ u8 ; 32 ] = [
939939 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ,
940940 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 ,
941941 0xff , 0xff , 0 , 0 , 0xff , 0xff , 0 , 0 ,
942942 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99
943943 ] ;
944- static SK_STR : & ' static str = "\
945- 01010101010101010001020304050607ffff0000ffff00006363636363636363\
946- ";
947944 static PK_BYTES : [ u8 ; 33 ] = [
948945 0x02 ,
949946 0x18 , 0x84 , 0x57 , 0x81 , 0xf6 , 0x31 , 0xc4 , 0x8f ,
@@ -965,21 +962,37 @@ mod test {
965962 #[ cfg( fuzzing) ]
966963 let pk = PublicKey :: from_slice ( & PK_BYTES ) . expect ( "pk" ) ;
967964
968- assert_tokens ( & sk. compact ( ) , & [ Token :: BorrowedBytes ( & SK_BYTES [ ..] ) ] ) ;
969- assert_tokens ( & sk. compact ( ) , & [ Token :: Bytes ( & SK_BYTES ) ] ) ;
970- assert_tokens ( & sk. compact ( ) , & [ Token :: ByteBuf ( & SK_BYTES ) ] ) ;
971-
972- assert_tokens ( & sk. readable ( ) , & [ Token :: BorrowedStr ( SK_STR ) ] ) ;
973- assert_tokens ( & sk. readable ( ) , & [ Token :: Str ( SK_STR ) ] ) ;
974- assert_tokens ( & sk. readable ( ) , & [ Token :: String ( SK_STR ) ] ) ;
975-
976965 assert_tokens ( & pk. compact ( ) , & [ Token :: BorrowedBytes ( & PK_BYTES [ ..] ) ] ) ;
977966 assert_tokens ( & pk. compact ( ) , & [ Token :: Bytes ( & PK_BYTES ) ] ) ;
978967 assert_tokens ( & pk. compact ( ) , & [ Token :: ByteBuf ( & PK_BYTES ) ] ) ;
979968
980969 assert_tokens ( & pk. readable ( ) , & [ Token :: BorrowedStr ( PK_STR ) ] ) ;
981970 assert_tokens ( & pk. readable ( ) , & [ Token :: Str ( PK_STR ) ] ) ;
982971 assert_tokens ( & pk. readable ( ) , & [ Token :: String ( PK_STR ) ] ) ;
972+ }
973+
974+ #[ cfg( all( feature = "serde" , feature = "serde-secrets" ) ) ]
975+ #[ test]
976+ fn test_serde_sk ( ) {
977+ use serde_test:: { Configure , Token , assert_tokens} ;
978+ static SK_BYTES : [ u8 ; 32 ] = [
979+ 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ,
980+ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 ,
981+ 0xff , 0xff , 0 , 0 , 0xff , 0xff , 0 , 0 ,
982+ 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99
983+ ] ;
984+ static SK_STR : & ' static str = "\
985+ 01010101010101010001020304050607ffff0000ffff00006363636363636363\
986+ ";
987+
988+ let sk = SecretKey :: from_slice ( & SK_BYTES ) . unwrap ( ) ;
989+
990+ assert_tokens ( & sk. clone ( ) . compact ( ) , & [ Token :: BorrowedBytes ( & SK_BYTES [ ..] ) ] ) ;
991+ assert_tokens ( & sk. clone ( ) . compact ( ) , & [ Token :: Bytes ( & SK_BYTES ) ] ) ;
992+ assert_tokens ( & sk. clone ( ) . compact ( ) , & [ Token :: ByteBuf ( & SK_BYTES ) ] ) ;
983993
994+ assert_tokens ( & sk. clone ( ) . readable ( ) , & [ Token :: BorrowedStr ( SK_STR ) ] ) ;
995+ assert_tokens ( & sk. clone ( ) . readable ( ) , & [ Token :: Str ( SK_STR ) ] ) ;
996+ assert_tokens ( & sk. clone ( ) . readable ( ) , & [ Token :: String ( SK_STR ) ] ) ;
984997 }
985998}
0 commit comments