]> git.proxmox.com Git - rustc.git/blob - vendor/base64/tests/encode.rs
New upstream version 1.70.0+dfsg2
[rustc.git] / vendor / base64 / tests / encode.rs
1 use base64::{
2 alphabet::URL_SAFE, engine::general_purpose::PAD, engine::general_purpose::STANDARD, *,
3 };
4
5 fn compare_encode(expected: &str, target: &[u8]) {
6 assert_eq!(expected, STANDARD.encode(target));
7 }
8
9 #[test]
10 fn encode_all_ascii() {
11 let mut ascii = Vec::<u8>::with_capacity(128);
12
13 for i in 0..128 {
14 ascii.push(i);
15 }
16
17 compare_encode(
18 "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7P\
19 D0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn8\
20 =",
21 &ascii,
22 );
23 }
24
25 #[test]
26 fn encode_all_bytes() {
27 let mut bytes = Vec::<u8>::with_capacity(256);
28
29 for i in 0..255 {
30 bytes.push(i);
31 }
32 bytes.push(255); //bug with "overflowing" ranges?
33
34 compare_encode(
35 "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7P\
36 D0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn\
37 +AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6\
38 /wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/w==",
39 &bytes,
40 );
41 }
42
43 #[test]
44 fn encode_all_bytes_url() {
45 let mut bytes = Vec::<u8>::with_capacity(256);
46
47 for i in 0..255 {
48 bytes.push(i);
49 }
50 bytes.push(255); //bug with "overflowing" ranges?
51
52 assert_eq!(
53 "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0\
54 -P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn\
55 -AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq\
56 -wsbKztLW2t7i5uru8vb6_wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t_g4eLj5OXm5-jp6uvs7e7v8PHy\
57 8_T19vf4-fr7_P3-_w==",
58 &engine::GeneralPurpose::new(&URL_SAFE, PAD).encode(&bytes)
59 );
60 }