@@ -29,11 +29,28 @@ BOOST_AUTO_TEST_CASE(base32_testvectors)
29
29
BOOST_CHECK_MESSAGE (std::ranges::equal (*dec, vstrIn[i]), vstrOut[i]);
30
30
}
31
31
32
+ BOOST_CHECK (!DecodeBase32 (" AWSX3VPPinvalid" )); // invalid size
33
+ BOOST_CHECK ( DecodeBase32 (" AWSX3VPP" )); // valid
34
+
32
35
// Decoding strings with embedded NUL characters should fail
33
- BOOST_CHECK (!DecodeBase32 (" invalid\0 " s)); // correct size, invalid due to \0
34
- BOOST_CHECK (DecodeBase32 (" AWSX3VPP" s)); // valid
35
- BOOST_CHECK (!DecodeBase32 (" AWSX3VPP\0 invalid" s)); // correct size, invalid due to \0
36
- BOOST_CHECK (!DecodeBase32 (" AWSX3VPPinvalid" s)); // invalid size
36
+ BOOST_CHECK (!DecodeBase32 (" invalid\0 " sv)); // correct size, invalid due to \0
37
+ BOOST_CHECK (!DecodeBase32 (" AWSX3VPP\0 invalid" sv)); // correct size, invalid due to \0
38
+ }
39
+
40
+ BOOST_AUTO_TEST_CASE (base32_padding)
41
+ {
42
+ // Is valid without padding
43
+ BOOST_CHECK_EQUAL (EncodeBase32 (" fooba" ), " mzxw6ytb" );
44
+
45
+ // Valid size
46
+ BOOST_CHECK (!DecodeBase32 (" ========" ));
47
+ BOOST_CHECK (!DecodeBase32 (" a=======" ));
48
+ BOOST_CHECK ( DecodeBase32 (" aa======" ));
49
+ BOOST_CHECK (!DecodeBase32 (" aaa=====" ));
50
+ BOOST_CHECK ( DecodeBase32 (" aaaa====" ));
51
+ BOOST_CHECK ( DecodeBase32 (" aaaaa===" ));
52
+ BOOST_CHECK (!DecodeBase32 (" aaaaaa==" ));
53
+ BOOST_CHECK ( DecodeBase32 (" aaaaaaa=" ));
37
54
}
38
55
39
56
BOOST_AUTO_TEST_SUITE_END ()
0 commit comments