Skip to content

Commit dc7ea00

Browse files
committed
descriptor: add unit tests for constructing multipath keys
1 parent c07272a commit dc7ea00

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
@@ -1150,7 +1150,7 @@ mod test {
11501150
DescriptorKeyParseError, DescriptorMultiXKey, DescriptorPublicKey, DescriptorSecretKey,
11511151
MiniscriptKey, Wildcard,
11521152
};
1153-
use crate::prelude::*;
1153+
use crate::{prelude::*, DefiniteDescriptorKey};
11541154

11551155
#[test]
11561156
fn parse_descriptor_key_errors() {
@@ -1498,4 +1498,24 @@ mod test {
14981498
let public_key = DescriptorPublicKey::from_str(desc).unwrap();
14991499
assert_tokens(&public_key, &[Token::String(desc)]);
15001500
}
1501+
1502+
#[test]
1503+
fn definite_keys() {
1504+
type DefDesc = crate::Descriptor<DescriptorPublicKey>;
1505+
// basic xpub
1506+
let desc = "xpub661MyMwAqRbcFtXgS5sYJABqqG9YLmC4Q1Rdap9gSE8NqtwybGhePY2gZ29ESFjqJoCu1Rupje8YtGqsefD265TMg7usUDFdp6W1EGMcet8"
1507+
.parse::<DescriptorPublicKey>()
1508+
.unwrap();
1509+
assert!(DefiniteDescriptorKey::new(desc).is_some());
1510+
// xpub with wildcard
1511+
let desc = "xpub661MyMwAqRbcFtXgS5sYJABqqG9YLmC4Q1Rdap9gSE8NqtwybGhePY2gZ29ESFjqJoCu1Rupje8YtGqsefD265TMg7usUDFdp6W1EGMcet8/*"
1512+
.parse::<DescriptorPublicKey>()
1513+
.unwrap();
1514+
assert!(DefiniteDescriptorKey::new(desc).is_none());
1515+
// multipath xpub
1516+
let desc = "xpub661MyMwAqRbcFtXgS5sYJABqqG9YLmC4Q1Rdap9gSE8NqtwybGhePY2gZ29ESFjqJoCu1Rupje8YtGqsefD265TMg7usUDFdp6W1EGMcet8/<0;1>"
1517+
.parse::<DescriptorPublicKey>()
1518+
.unwrap();
1519+
assert!(DefiniteDescriptorKey::new(desc).is_none());
1520+
}
15011521
}

0 commit comments

Comments
 (0)