// This file is Copyright its original authors, visible in version control // history. // // This file is licensed under the Apache License, Version 2.0 or the MIT license // , at your option. // You may not use this file except in accordance with one or both of these // licenses. use lightning::util::base32; use crate::utils::test_logger; #[inline] pub fn do_test(data: &[u8]) { let res = base32::Alphabet::ZBase32.encode(data); assert_eq!(&base32::Alphabet::ZBase32.decode(&res).unwrap()[..], data); if let Ok(s) = std::str::from_utf8(data) { let res = base32::Alphabet::ZBase32.decode(s); if let Ok(decoded) = res { assert_eq!(&base32::Alphabet::ZBase32.encode(&decoded), &s.to_ascii_lowercase()); } } } pub fn zbase32_test(data: &[u8], _out: Out) { do_test(data); } #[no_mangle] pub extern "C" fn zbase32_run(data: *const u8, datalen: usize) { do_test(unsafe { std::slice::from_raw_parts(data, datalen) }); }