@@ -200,7 +200,7 @@ impl SecretKey {
200200 }
201201}
202202
203- #[ cfg( feature = "serde" ) ]
203+ #[ cfg( all ( feature = "serde" , feature = "serde-secrets" ) ) ]
204204impl :: serde:: Serialize for SecretKey {
205205 fn serialize < S : :: serde:: Serializer > ( & self , s : S ) -> Result < S :: Ok , S :: Error > {
206206 if s. is_human_readable ( ) {
@@ -930,17 +930,14 @@ mod test {
930930
931931 #[ cfg( feature = "serde" ) ]
932932 #[ test]
933- fn test_serde ( ) {
933+ fn test_serde_pk ( ) {
934934 use serde_test:: { Configure , Token , assert_tokens} ;
935935 static SK_BYTES : [ u8 ; 32 ] = [
936936 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ,
937937 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 ,
938938 0xff , 0xff , 0 , 0 , 0xff , 0xff , 0 , 0 ,
939939 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99
940940 ] ;
941- static SK_STR : & ' static str = "\
942- 01010101010101010001020304050607ffff0000ffff00006363636363636363\
943- ";
944941 static PK_BYTES : [ u8 ; 33 ] = [
945942 0x02 ,
946943 0x18 , 0x84 , 0x57 , 0x81 , 0xf6 , 0x31 , 0xc4 , 0x8f ,
@@ -962,21 +959,37 @@ mod test {
962959 #[ cfg( fuzzing) ]
963960 let pk = PublicKey :: from_slice ( & PK_BYTES ) . expect ( "pk" ) ;
964961
965- assert_tokens ( & sk. clone ( ) . compact ( ) , & [ Token :: BorrowedBytes ( & SK_BYTES [ ..] ) ] ) ;
966- assert_tokens ( & sk. clone ( ) . compact ( ) , & [ Token :: Bytes ( & SK_BYTES ) ] ) ;
967- assert_tokens ( & sk. clone ( ) . compact ( ) , & [ Token :: ByteBuf ( & SK_BYTES ) ] ) ;
968-
969- assert_tokens ( & sk. clone ( ) . readable ( ) , & [ Token :: BorrowedStr ( SK_STR ) ] ) ;
970- assert_tokens ( & sk. clone ( ) . readable ( ) , & [ Token :: Str ( SK_STR ) ] ) ;
971- assert_tokens ( & sk. clone ( ) . readable ( ) , & [ Token :: String ( SK_STR ) ] ) ;
972-
973962 assert_tokens ( & pk. compact ( ) , & [ Token :: BorrowedBytes ( & PK_BYTES [ ..] ) ] ) ;
974963 assert_tokens ( & pk. compact ( ) , & [ Token :: Bytes ( & PK_BYTES ) ] ) ;
975964 assert_tokens ( & pk. compact ( ) , & [ Token :: ByteBuf ( & PK_BYTES ) ] ) ;
976965
977966 assert_tokens ( & pk. readable ( ) , & [ Token :: BorrowedStr ( PK_STR ) ] ) ;
978967 assert_tokens ( & pk. readable ( ) , & [ Token :: Str ( PK_STR ) ] ) ;
979968 assert_tokens ( & pk. readable ( ) , & [ Token :: String ( PK_STR ) ] ) ;
969+ }
970+
971+ #[ cfg( all( feature = "serde" , feature = "serde-secrets" ) ) ]
972+ #[ test]
973+ fn test_serde_sk ( ) {
974+ use serde_test:: { Configure , Token , assert_tokens} ;
975+ static SK_BYTES : [ u8 ; 32 ] = [
976+ 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ,
977+ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 ,
978+ 0xff , 0xff , 0 , 0 , 0xff , 0xff , 0 , 0 ,
979+ 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99
980+ ] ;
981+ static SK_STR : & ' static str = "\
982+ 01010101010101010001020304050607ffff0000ffff00006363636363636363\
983+ ";
980984
985+ let sk = SecretKey :: from_slice ( & SK_BYTES ) . unwrap ( ) ;
986+
987+ assert_tokens ( & sk. clone ( ) . compact ( ) , & [ Token :: BorrowedBytes ( & SK_BYTES [ ..] ) ] ) ;
988+ assert_tokens ( & sk. clone ( ) . compact ( ) , & [ Token :: Bytes ( & SK_BYTES ) ] ) ;
989+ assert_tokens ( & sk. clone ( ) . compact ( ) , & [ Token :: ByteBuf ( & SK_BYTES ) ] ) ;
990+
991+ assert_tokens ( & sk. clone ( ) . readable ( ) , & [ Token :: BorrowedStr ( SK_STR ) ] ) ;
992+ assert_tokens ( & sk. clone ( ) . readable ( ) , & [ Token :: Str ( SK_STR ) ] ) ;
993+ assert_tokens ( & sk. clone ( ) . readable ( ) , & [ Token :: String ( SK_STR ) ] ) ;
981994 }
982995}
0 commit comments