summaryrefslogtreecommitdiffstats
path: root/vendor/base64/tests/encode.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-07 05:48:42 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-07 05:48:42 +0000
commitcec1877e180393eba0f6ddb0cf97bf3a791631c7 (patch)
tree47b4dac2a9dd9a40c30c251b4d4a72d7ccf77e9f /vendor/base64/tests/encode.rs
parentAdding debian version 1.74.1+dfsg1-1. (diff)
downloadrustc-cec1877e180393eba0f6ddb0cf97bf3a791631c7.tar.xz
rustc-cec1877e180393eba0f6ddb0cf97bf3a791631c7.zip
Merging upstream version 1.75.0+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/base64/tests/encode.rs')
-rw-r--r--vendor/base64/tests/encode.rs31
1 files changed, 31 insertions, 0 deletions
diff --git a/vendor/base64/tests/encode.rs b/vendor/base64/tests/encode.rs
index cf61e9ac9..9d6944741 100644
--- a/vendor/base64/tests/encode.rs
+++ b/vendor/base64/tests/encode.rs
@@ -44,3 +44,34 @@ fn encode_all_bytes_url() {
&engine::GeneralPurpose::new(&URL_SAFE, PAD).encode(bytes)
);
}
+
+#[test]
+fn encoded_len_unpadded() {
+ assert_eq!(0, encoded_len(0, false).unwrap());
+ assert_eq!(2, encoded_len(1, false).unwrap());
+ assert_eq!(3, encoded_len(2, false).unwrap());
+ assert_eq!(4, encoded_len(3, false).unwrap());
+ assert_eq!(6, encoded_len(4, false).unwrap());
+ assert_eq!(7, encoded_len(5, false).unwrap());
+ assert_eq!(8, encoded_len(6, false).unwrap());
+ assert_eq!(10, encoded_len(7, false).unwrap());
+}
+
+#[test]
+fn encoded_len_padded() {
+ assert_eq!(0, encoded_len(0, true).unwrap());
+ assert_eq!(4, encoded_len(1, true).unwrap());
+ assert_eq!(4, encoded_len(2, true).unwrap());
+ assert_eq!(4, encoded_len(3, true).unwrap());
+ assert_eq!(8, encoded_len(4, true).unwrap());
+ assert_eq!(8, encoded_len(5, true).unwrap());
+ assert_eq!(8, encoded_len(6, true).unwrap());
+ assert_eq!(12, encoded_len(7, true).unwrap());
+}
+#[test]
+fn encoded_len_overflow() {
+ let max_size = usize::MAX / 4 * 3 + 2;
+ assert_eq!(2, max_size % 3);
+ assert_eq!(Some(usize::MAX), encoded_len(max_size, false));
+ assert_eq!(None, encoded_len(max_size + 1, false));
+}