@@ -218,10 +218,8 @@ impl From<secp256k1::Error> for Bolt12ParseError {
218
218
}
219
219
220
220
#[ cfg( test) ]
221
- mod tests {
221
+ mod bolt12_tests {
222
222
use super :: Bolt12ParseError ;
223
- use bitcoin:: bech32;
224
- use crate :: ln:: msgs:: DecodeError ;
225
223
use crate :: offers:: offer:: Offer ;
226
224
227
225
#[ test]
@@ -236,10 +234,16 @@ mod tests {
236
234
#[ test]
237
235
fn parses_bech32_encoded_offers ( ) {
238
236
let offers = [
239
- // BOLT 12 test vectors
237
+ // A complete string is valid
240
238
"lno1pqps7sjqpgtyzm3qv4uxzmtsd3jjqer9wd3hy6tsw35k7msjzfpy7nz5yqcnygrfdej82um5wf5k2uckyypwa3eyt44h6txtxquqh7lz5djge4afgfjn7k4rgrkuag0jsd5xvxg" ,
239
+
240
+ // + can join anywhere
241
241
"l+no1pqps7sjqpgtyzm3qv4uxzmtsd3jjqer9wd3hy6tsw35k7msjzfpy7nz5yqcnygrfdej82um5wf5k2uckyypwa3eyt44h6txtxquqh7lz5djge4afgfjn7k4rgrkuag0jsd5xvxg" ,
242
+
243
+ // Multiple + can join
242
244
"lno1pqps7sjqpgt+yzm3qv4uxzmtsd3jjqer9wd3hy6tsw3+5k7msjzfpy7nz5yqcn+ygrfdej82um5wf5k2uckyypwa3eyt44h6txtxquqh7lz5djge4afgfjn7k4rgrkuag0jsd+5xvxg" ,
245
+
246
+ // + can be followed by whitespace
243
247
"lno1pqps7sjqpgt+ yzm3qv4uxzmtsd3jjqer9wd3hy6tsw3+ 5k7msjzfpy7nz5yqcn+\n ygrfdej82um5wf5k2uckyypwa3eyt44h6txtxquqh7lz5djge4afgfjn7k4rgrkuag0jsd+\r \n 5xvxg" ,
244
248
] ;
245
249
for encoded_offer in & offers {
@@ -252,7 +256,7 @@ mod tests {
252
256
#[ test]
253
257
fn fails_parsing_bech32_encoded_offers_with_invalid_continuations ( ) {
254
258
let offers = [
255
- // BOLT 12 test vectors
259
+ // + must be surrounded by bech32 characters
256
260
"lno1pqps7sjqpgtyzm3qv4uxzmtsd3jjqer9wd3hy6tsw35k7msjzfpy7nz5yqcnygrfdej82um5wf5k2uckyypwa3eyt44h6txtxquqh7lz5djge4afgfjn7k4rgrkuag0jsd5xvxg+" ,
257
261
"lno1pqps7sjqpgtyzm3qv4uxzmtsd3jjqer9wd3hy6tsw35k7msjzfpy7nz5yqcnygrfdej82um5wf5k2uckyypwa3eyt44h6txtxquqh7lz5djge4afgfjn7k4rgrkuag0jsd5xvxg+ " ,
258
262
"+lno1pqps7sjqpgtyzm3qv4uxzmtsd3jjqer9wd3hy6tsw35k7msjzfpy7nz5yqcnygrfdej82um5wf5k2uckyypwa3eyt44h6txtxquqh7lz5djge4afgfjn7k4rgrkuag0jsd5xvxg" ,
@@ -266,6 +270,14 @@ mod tests {
266
270
}
267
271
}
268
272
}
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 ;
269
281
270
282
#[ test]
271
283
fn fails_parsing_bech32_encoded_offer_with_invalid_hrp ( ) {
0 commit comments