File tree Expand file tree Collapse file tree 3 files changed +24
-4
lines changed Expand file tree Collapse file tree 3 files changed +24
-4
lines changed Original file line number Diff line number Diff line change 1
1
2
2
extern crate miniscript;
3
+ extern crate regex;
3
4
4
5
use miniscript:: { Descriptor , DummyKey } ;
5
-
6
+ use regex :: Regex ;
6
7
use std:: str:: FromStr ;
7
8
8
9
fn do_test ( data : & [ u8 ] ) {
9
10
let s = String :: from_utf8_lossy ( data) ;
10
11
if let Ok ( desc) = Descriptor :: < DummyKey > :: from_str ( & s) {
11
12
let output = desc. to_string ( ) ;
12
- let normalize_aliases = s. replace ( "c:pk_k(" , "pk(" ) ;
13
+
14
+ let multi_wrap_pk_re = Regex :: new ( "([a-z]+)c:pk_k\\ (" ) . unwrap ( ) ;
15
+ let multi_wrap_pkh_re = Regex :: new ( "([a-z]+)c:pk_h\\ (" ) . unwrap ( ) ;
16
+
17
+ let normalize_aliases = multi_wrap_pk_re. replace_all ( & s, "$1:pk(" ) ;
18
+ let normalize_aliases = multi_wrap_pkh_re. replace_all ( & normalize_aliases, "$1:pkh(" ) ;
19
+ let normalize_aliases = normalize_aliases. replace ( "c:pk_k(" , "pk(" ) . replace ( "c:pk_h(" , "pkh(" ) ;
20
+
13
21
assert_eq ! ( normalize_aliases, output) ;
14
22
}
15
23
}
@@ -32,4 +40,4 @@ fn main() {
32
40
do_test( data) ;
33
41
} ) ;
34
42
}
35
- }
43
+ }
Original file line number Diff line number Diff line change 1
1
2
2
extern crate miniscript;
3
+ extern crate regex;
3
4
4
5
use std:: str:: FromStr ;
6
+ use regex:: Regex ;
5
7
6
8
use miniscript:: { DummyKey } ;
7
9
use miniscript:: Miniscript ;
@@ -10,7 +12,16 @@ fn do_test(data: &[u8]) {
10
12
let s = String :: from_utf8_lossy ( data) ;
11
13
if let Ok ( desc) = Miniscript :: < DummyKey > :: from_str ( & s) {
12
14
let output = desc. to_string ( ) ;
13
- assert_eq ! ( s, output) ;
15
+
16
+ let multi_wrap_pk_re = Regex :: new ( "([a-z]+)c:pk_k\\ (" ) . unwrap ( ) ;
17
+ let multi_wrap_pkh_re = Regex :: new ( "([a-z]+)c:pk_h\\ (" ) . unwrap ( ) ;
18
+
19
+ let normalize_aliases = multi_wrap_pk_re. replace_all ( & s, "$1:pk(" ) ;
20
+ let normalize_aliases = multi_wrap_pkh_re. replace_all ( & normalize_aliases, "$1:pkh(" ) ;
21
+ let normalize_aliases = normalize_aliases. replace ( "c:pk_k(" , "pk(" ) . replace ( "c:pk_h(" , "pkh(" ) ;
22
+
23
+ assert_eq ! ( normalize_aliases, output) ;
24
+
14
25
}
15
26
}
16
27
Original file line number Diff line number Diff line change @@ -561,6 +561,7 @@ mod tests {
561
561
StdDescriptor :: from_str ( "(x()" ) . unwrap_err ( ) ;
562
562
StdDescriptor :: from_str ( "(\u{7f} ()3" ) . unwrap_err ( ) ;
563
563
StdDescriptor :: from_str ( "pk()" ) . unwrap_err ( ) ;
564
+ StdDescriptor :: from_str ( "nl:0" ) . unwrap_err ( ) ; //issue 63
564
565
565
566
StdDescriptor :: from_str ( TEST_PK ) . unwrap ( ) ;
566
567
}
You can’t perform that action at this time.
0 commit comments