|
|
|
@ -96,33 +96,40 @@ impl Wordlist {
|
|
|
|
|
#[cfg(test)] |
|
|
|
|
mod tests { |
|
|
|
|
use super::*; |
|
|
|
|
use cstr_core::cstr; |
|
|
|
|
|
|
|
|
|
const BIP39_WORD_COUNT: usize = ffi::BIP39_WORD_COUNT as usize; |
|
|
|
|
|
|
|
|
|
#[test] |
|
|
|
|
fn test_prefix_cmp() { |
|
|
|
|
assert_eq!(unsafe { prefix_cmp("", "".as_ptr() as _) }, Ordering::Equal); |
|
|
|
|
assert_eq!( |
|
|
|
|
unsafe { prefix_cmp("", cstr!("").as_ptr()) }, |
|
|
|
|
Ordering::Equal |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
assert_eq!(unsafe { prefix_cmp("b", "".as_ptr() as _) }, Ordering::Less); |
|
|
|
|
assert_eq!( |
|
|
|
|
unsafe { prefix_cmp("b", "a".as_ptr() as _) }, |
|
|
|
|
unsafe { prefix_cmp("b", cstr!("").as_ptr()) }, |
|
|
|
|
Ordering::Less |
|
|
|
|
); |
|
|
|
|
assert_eq!( |
|
|
|
|
unsafe { prefix_cmp("b", cstr!("a").as_ptr()) }, |
|
|
|
|
Ordering::Less |
|
|
|
|
); |
|
|
|
|
assert_eq!( |
|
|
|
|
unsafe { prefix_cmp("b", "b".as_ptr() as _) }, |
|
|
|
|
unsafe { prefix_cmp("b", cstr!("b").as_ptr()) }, |
|
|
|
|
Ordering::Equal |
|
|
|
|
); |
|
|
|
|
assert_eq!( |
|
|
|
|
unsafe { prefix_cmp("b", "below".as_ptr() as _) }, |
|
|
|
|
unsafe { prefix_cmp("b", cstr!("below").as_ptr()) }, |
|
|
|
|
Ordering::Equal |
|
|
|
|
); |
|
|
|
|
assert_eq!( |
|
|
|
|
unsafe { prefix_cmp("b", "c".as_ptr() as _) }, |
|
|
|
|
unsafe { prefix_cmp("b", cstr!("c").as_ptr()) }, |
|
|
|
|
Ordering::Greater |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
assert_eq!( |
|
|
|
|
unsafe { prefix_cmp("bartender", "bar".as_ptr() as _) }, |
|
|
|
|
unsafe { prefix_cmp("bartender", cstr!("bar").as_ptr()) }, |
|
|
|
|
Ordering::Less |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|