Skip to content

Commit ea82c48

Browse files
committed
descriptor: add unit tests for constructing multipath keys
1 parent b41daad commit ea82c48

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

src/descriptor/key.rs

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1190,7 +1190,7 @@ mod test {
11901190
DescriptorKeyParseError, DescriptorMultiXKey, DescriptorPublicKey, DescriptorSecretKey,
11911191
MiniscriptKey, Wildcard,
11921192
};
1193-
use crate::prelude::*;
1193+
use crate::{prelude::*, DefiniteDescriptorKey};
11941194

11951195
#[test]
11961196
fn parse_descriptor_key_errors() {
@@ -1571,4 +1571,24 @@ mod test {
15711571
let public_key = DescriptorPublicKey::from_str(desc).unwrap();
15721572
assert_tokens(&public_key, &[Token::String(desc)]);
15731573
}
1574+
1575+
#[test]
1576+
fn definite_keys() {
1577+
type DefDesc = crate::Descriptor<DescriptorPublicKey>;
1578+
// basic xpub
1579+
let desc = "xpub661MyMwAqRbcFtXgS5sYJABqqG9YLmC4Q1Rdap9gSE8NqtwybGhePY2gZ29ESFjqJoCu1Rupje8YtGqsefD265TMg7usUDFdp6W1EGMcet8"
1580+
.parse::<DescriptorPublicKey>()
1581+
.unwrap();
1582+
assert!(DefiniteDescriptorKey::new(desc).is_some());
1583+
// xpub with wildcard
1584+
let desc = "xpub661MyMwAqRbcFtXgS5sYJABqqG9YLmC4Q1Rdap9gSE8NqtwybGhePY2gZ29ESFjqJoCu1Rupje8YtGqsefD265TMg7usUDFdp6W1EGMcet8/*"
1585+
.parse::<DescriptorPublicKey>()
1586+
.unwrap();
1587+
assert!(DefiniteDescriptorKey::new(desc).is_none());
1588+
// multipath xpub
1589+
let desc = "xpub661MyMwAqRbcFtXgS5sYJABqqG9YLmC4Q1Rdap9gSE8NqtwybGhePY2gZ29ESFjqJoCu1Rupje8YtGqsefD265TMg7usUDFdp6W1EGMcet8/<0;1>"
1590+
.parse::<DescriptorPublicKey>()
1591+
.unwrap();
1592+
assert!(DefiniteDescriptorKey::new(desc).is_none());
1593+
}
15741594
}

0 commit comments

Comments
 (0)