@@ -8,7 +8,7 @@ use std::str::FromStr;
8
8
fn do_test ( data : & [ u8 ] ) {
9
9
let s = String :: from_utf8_lossy ( data) ;
10
10
if let Ok ( desc) = Descriptor :: < DummyKey > :: from_str ( & s) {
11
- let output = format ! ( "{:?}" , desc) ;
11
+ let output = desc. to_string ( ) ;
12
12
13
13
let multi_wrap_pk_re = Regex :: new ( "([a-z]+)c:pk_k\\ (" ) . unwrap ( ) ;
14
14
let multi_wrap_pkh_re = Regex :: new ( "([a-z]+)c:pk_h\\ (" ) . unwrap ( ) ;
@@ -19,7 +19,17 @@ fn do_test(data: &[u8]) {
19
19
. replace ( "c:pk_k(" , "pk(" )
20
20
. replace ( "c:pk_h(" , "pkh(" ) ;
21
21
22
- assert_eq ! ( normalize_aliases. to_lowercase( ) , output. to_lowercase( ) ) ;
22
+ let mut checksum_split = output. split ( '#' ) ;
23
+ let pre_checksum = checksum_split. next ( ) . unwrap ( ) ;
24
+ assert ! ( checksum_split. next( ) . is_some( ) ) ;
25
+ assert ! ( checksum_split. next( ) . is_none( ) ) ;
26
+
27
+ if normalize_aliases. len ( ) == output. len ( ) {
28
+ let len = pre_checksum. len ( ) ;
29
+ assert_eq ! ( normalize_aliases[ ..len] . to_lowercase( ) , pre_checksum. to_lowercase( ) ) ;
30
+ } else {
31
+ assert_eq ! ( normalize_aliases. to_lowercase( ) , pre_checksum. to_lowercase( ) ) ;
32
+ }
23
33
}
24
34
}
25
35
@@ -43,3 +53,13 @@ fn main() {
43
53
} ) ;
44
54
}
45
55
}
56
+
57
+ #[ cfg( test) ]
58
+ mod tests {
59
+ use super :: * ;
60
+ #[ test]
61
+ fn test ( ) {
62
+ do_test ( b"pkh()" ) ;
63
+ }
64
+ }
65
+
0 commit comments