1 //! `crypt(3)` Base64 tests
7 use base64ct
::Base64Crypt
;
9 const TEST_VECTORS
: &[TestVector
] = &[
10 TestVector { raw: b"", b64: "" }
,
20 raw
: b
"\x01\x02\x03\x04",
24 raw
: b
"\xAD\xAD\xAD\xAD\xAD",
28 raw
: b
"\xFF\xEF\xFE\xFF\xEF\xFE",
32 raw
: b
"\xFF\xFF\xFF\xFF\xFF",
36 raw
: b
"\x40\xC1\x3F\xBD\x05\x4C\x72\x2A\xA3\xC2\xF2\x11\x73\xC0\x69\xEA\
37 \x49\x7D\x35\x29\x6B\xCC\x24\x65\xF6\xF9\xD0\x41\x08\x7B\xD7\xA9",
38 b64
: "EA2zjEJAQWeXkj6FQw/duYZxBGZfn0FZxjbEEEVvpuY",
41 raw
: b
"\x00\x10\x83\x10Q\x87 \x92\x8B0\xD3\x8FA\x14\x93QU\x97a\x96\x9Bq\
42 \xD7\x9F\x82\x18\xA3\x92Y\xA7\xA2\x9A\xAB\xB2\xDB\xAF\xC3\x1C\xB3\
44 b64
: "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnyz..",
48 impl_tests
!(Base64Crypt
);
51 fn reject_trailing_whitespace() {
52 let input
= "OKC9tOTKagohutGPa6/n4ij7LQjpxAPj7tlOOOf5z4i\n";
53 let mut buf
= [0u8; 1024];
55 Base64Crypt
::decode(input
, &mut buf
),
56 Err(Error
::InvalidEncoding
)
61 fn unpadded_reject_trailing_equals() {
62 let input
= "OKC9tOTKagohutGPa6/n4ij7LQjpxAPj7tlOOOf5z4i=";
63 let mut buf
= [0u8; 1024];
65 Base64Crypt
::decode(input
, &mut buf
),
66 Err(Error
::InvalidEncoding
)