Skip to content

Commit 452a30e

Browse files
committed
Separate and describe BOLT 12 test vectors
1 parent 5fc4abc commit 452a30e

File tree

1 file changed

+17
-5
lines changed

1 file changed

+17
-5
lines changed

lightning/src/offers/parse.rs

+17-5
Original file line numberDiff line numberDiff line change
@@ -218,10 +218,8 @@ impl From<secp256k1::Error> for Bolt12ParseError {
218218
}
219219

220220
#[cfg(test)]
221-
mod tests {
221+
mod bolt12_tests {
222222
use super::Bolt12ParseError;
223-
use bitcoin::bech32;
224-
use crate::ln::msgs::DecodeError;
225223
use crate::offers::offer::Offer;
226224

227225
#[test]
@@ -236,10 +234,16 @@ mod tests {
236234
#[test]
237235
fn parses_bech32_encoded_offers() {
238236
let offers = [
239-
// BOLT 12 test vectors
237+
// A complete string is valid
240238
"lno1pqps7sjqpgtyzm3qv4uxzmtsd3jjqer9wd3hy6tsw35k7msjzfpy7nz5yqcnygrfdej82um5wf5k2uckyypwa3eyt44h6txtxquqh7lz5djge4afgfjn7k4rgrkuag0jsd5xvxg",
239+
240+
// + can join anywhere
241241
"l+no1pqps7sjqpgtyzm3qv4uxzmtsd3jjqer9wd3hy6tsw35k7msjzfpy7nz5yqcnygrfdej82um5wf5k2uckyypwa3eyt44h6txtxquqh7lz5djge4afgfjn7k4rgrkuag0jsd5xvxg",
242+
243+
// Multiple + can join
242244
"lno1pqps7sjqpgt+yzm3qv4uxzmtsd3jjqer9wd3hy6tsw3+5k7msjzfpy7nz5yqcn+ygrfdej82um5wf5k2uckyypwa3eyt44h6txtxquqh7lz5djge4afgfjn7k4rgrkuag0jsd+5xvxg",
245+
246+
// + can be followed by whitespace
243247
"lno1pqps7sjqpgt+ yzm3qv4uxzmtsd3jjqer9wd3hy6tsw3+ 5k7msjzfpy7nz5yqcn+\nygrfdej82um5wf5k2uckyypwa3eyt44h6txtxquqh7lz5djge4afgfjn7k4rgrkuag0jsd+\r\n 5xvxg",
244248
];
245249
for encoded_offer in &offers {
@@ -252,7 +256,7 @@ mod tests {
252256
#[test]
253257
fn fails_parsing_bech32_encoded_offers_with_invalid_continuations() {
254258
let offers = [
255-
// BOLT 12 test vectors
259+
// + must be surrounded by bech32 characters
256260
"lno1pqps7sjqpgtyzm3qv4uxzmtsd3jjqer9wd3hy6tsw35k7msjzfpy7nz5yqcnygrfdej82um5wf5k2uckyypwa3eyt44h6txtxquqh7lz5djge4afgfjn7k4rgrkuag0jsd5xvxg+",
257261
"lno1pqps7sjqpgtyzm3qv4uxzmtsd3jjqer9wd3hy6tsw35k7msjzfpy7nz5yqcnygrfdej82um5wf5k2uckyypwa3eyt44h6txtxquqh7lz5djge4afgfjn7k4rgrkuag0jsd5xvxg+ ",
258262
"+lno1pqps7sjqpgtyzm3qv4uxzmtsd3jjqer9wd3hy6tsw35k7msjzfpy7nz5yqcnygrfdej82um5wf5k2uckyypwa3eyt44h6txtxquqh7lz5djge4afgfjn7k4rgrkuag0jsd5xvxg",
@@ -266,6 +270,14 @@ mod tests {
266270
}
267271
}
268272
}
273+
}
274+
275+
#[cfg(test)]
276+
mod tests {
277+
use super::Bolt12ParseError;
278+
use bitcoin::bech32;
279+
use crate::ln::msgs::DecodeError;
280+
use crate::offers::offer::Offer;
269281

270282
#[test]
271283
fn fails_parsing_bech32_encoded_offer_with_invalid_hrp() {

0 commit comments

Comments
 (0)