@@ -48,6 +48,15 @@ fn vec_u8() {
4848 ser_de_test_len ( vec ! [ 255 , 254 , 253 , 252 , 251 , 250 , 249 , 248 , 247 , 246 ] , "lll0ml8mltul3alk" ) ;
4949}
5050
51+ #[ test]
52+ fn array_u8 ( ) {
53+ ser_de_test_len ( [ 0 ] , "qq" ) ;
54+ ser_de_test_len ( [ 255 ] , "lu" ) ;
55+ ser_de_test_len ( [ 0 , 1 ] , "qqqs" ) ;
56+ ser_de_test_len ( [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ] , "qqqsyqcyq5rqwzqf" ) ;
57+ ser_de_test_len ( [ 255 , 254 , 253 , 252 , 251 , 250 , 249 , 248 , 247 , 246 ] , "lll0ml8mltul3alk" ) ;
58+ }
59+
5160#[ test]
5261fn payment_secret ( ) {
5362 let payment_secret = PaymentSecret ( [ 7 ; 32 ] ) ;
@@ -66,8 +75,24 @@ fn positive_timestamp() {
6675fn bolt11_invoice_features ( ) {
6776 use crate :: Bolt11InvoiceFeatures ;
6877
69- let features = Bolt11InvoiceFeatures :: from_le_bytes ( vec ! [ 1 , 2 , 3 , 4 , 5 , 42 , 100 , 101 ] ) ;
70- ser_de_test_len ( features, "x2ep2q5zqxqsp" ) ;
78+ // Test few values, lengths, and paddings
79+ ser_de_test_len ( Bolt11InvoiceFeatures :: from_le_bytes ( vec ! [ 1 , 2 , 3 , 4 , 5 , 42 , 100 , 101 ] ) , "x2ep2q5zqxqsp" ) ;
80+ ser_de_test_len ( Bolt11InvoiceFeatures :: from_le_bytes ( vec ! [ ] ) , "" ) ;
81+ ser_de_test_len ( Bolt11InvoiceFeatures :: from_le_bytes ( vec ! [ 0 ] ) , "" ) ;
82+ ser_de_test_len ( Bolt11InvoiceFeatures :: from_le_bytes ( vec ! [ 1 ] ) , "p" ) ;
83+ ser_de_test_len ( Bolt11InvoiceFeatures :: from_le_bytes ( vec ! [ 31 ] ) , "l" ) ;
84+ ser_de_test_len ( Bolt11InvoiceFeatures :: from_le_bytes ( vec ! [ 100 ] ) , "ry" ) ;
85+ ser_de_test_len ( Bolt11InvoiceFeatures :: from_le_bytes ( vec ! [ 255 ] ) , "8l" ) ;
86+ ser_de_test_len ( Bolt11InvoiceFeatures :: from_le_bytes ( vec ! [ 1 ] ) , "p" ) ;
87+ ser_de_test_len ( Bolt11InvoiceFeatures :: from_le_bytes ( vec ! [ 1 , 2 ] ) , "sp" ) ;
88+ ser_de_test_len ( Bolt11InvoiceFeatures :: from_le_bytes ( vec ! [ 1 , 2 , 3 ] ) , "xqsp" ) ;
89+ ser_de_test_len ( Bolt11InvoiceFeatures :: from_le_bytes ( vec ! [ 1 , 2 , 3 , 4 ] ) , "zqxqsp" ) ;
90+ ser_de_test_len ( Bolt11InvoiceFeatures :: from_le_bytes ( vec ! [ 1 , 2 , 3 , 4 , 5 ] ) , "5zqxqsp" ) ;
91+ ser_de_test_len ( Bolt11InvoiceFeatures :: from_le_bytes ( vec ! [ 255 , 254 , 253 , 252 , 251 ] ) , "l070mlhl" ) ;
92+ ser_de_test_len ( Bolt11InvoiceFeatures :: from_le_bytes ( vec ! [ 100 , 0 ] ) , "ry" ) ;
93+ ser_de_test_len ( Bolt11InvoiceFeatures :: from_le_bytes ( vec ! [ 100 , 0 , 0 , 0 ] ) , "ry" ) ;
94+ ser_de_test_len ( Bolt11InvoiceFeatures :: from_le_bytes ( vec ! [ 0 , 100 ] ) , "eqq" ) ;
95+ ser_de_test_len ( Bolt11InvoiceFeatures :: from_le_bytes ( vec ! [ 0 , 0 , 0 , 100 ] ) , "pjqqqqq" ) ;
7196}
7297
7398#[ test]
0 commit comments