Skip to content

Commit f501aa3

Browse files
SeriousBugclaude
andcommitted
Add tests for compress_data_br function
- Add br_roundtrip test to verify brotli compression/decompression works correctly - Add br_compression_is_cached test to verify brotli compression caching behavior - Import compress_data_br in test module 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
1 parent 01e9ac0 commit f501aa3

File tree

1 file changed

+25
-1
lines changed

1 file changed

+25
-1
lines changed

src/compress.rs

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ pub(crate) fn compress_data_zstd(hash: &str, data: &[u8]) -> Vec<u8> {
150150
#[allow(unused_imports)]
151151
mod test {
152152
use crate::compress::is_well_known_compressible_mime_type;
153-
use crate::compress_data_gzip;
153+
use crate::{compress_data_br, compress_data_gzip};
154154
use std::io::Write;
155155
use std::time::Instant;
156156

@@ -202,6 +202,15 @@ mod test {
202202
assert_eq!(source, &decompressed[..]);
203203
}
204204

205+
#[test]
206+
fn br_roundtrip() {
207+
let source = b"x123";
208+
let compressed = compress_data_br("bar", source);
209+
let mut decompressed = Vec::new();
210+
brotli::BrotliDecompress(&mut &compressed[..], &mut decompressed).unwrap();
211+
assert_eq!(source, &decompressed[..]);
212+
}
213+
205214
#[test]
206215
fn compression_is_cached() {
207216
let source = b"Et quos non sed magnam reiciendis praesentium quod libero. Architecto optio tempora iure aspernatur rerum voluptatem quas. Eos ut atque quas perspiciatis dolorem quidem. Cum et quo et. Voluptatum ut est id eligendi illum inventore. Est non rerum vel rem. Molestiae similique alias nihil harum qui. Consectetur et dolores autem. Magnam et saepe ad reprehenderit. Repellendus vel excepturi eaque esse error. Deserunt est impedit totam nostrum sunt. Eligendi magnam distinctio odit iste molestias est id. Deserunt odit similique magnam repudiandae aut saepe. Dolores laboriosam consectetur quos dolores ea. Non quod veniam quisquam molestias aut deserunt tempora. Mollitia consequuntur facilis doloremque provident eligendi similique possimus. Deleniti facere quam fugiat porro. Tenetur cupiditate eum consequatur beatae dolorum. Veniam voluptatem qui eum quasi corrupti. Quis necessitatibus maxime eum numquam ipsam ducimus expedita maiores. Aliquid voluptas non aut. Tempore dicta ut aperiam ipsum ut et esse explicabo.";
@@ -217,6 +226,21 @@ mod test {
217226
assert!(first > second);
218227
}
219228

229+
#[test]
230+
fn br_compression_is_cached() {
231+
let source = b"Et quos non sed magnam reiciendis praesentium quod libero. Architecto optio tempora iure aspernatur rerum voluptatem quas. Eos ut atque quas perspiciatis dolorem quidem. Cum et quo et. Voluptatum ut est id eligendi illum inventore. Est non rerum vel rem. Molestiae similique alias nihil harum qui. Consectetur et dolores autem. Magnam et saepe ad reprehenderit. Repellendus vel excepturi eaque esse error. Deserunt est impedit totam nostrum sunt. Eligendi magnam distinctio odit iste molestias est id. Deserunt odit similique magnam repudiandae aut saepe. Dolores laboriosam consectetur quos dolores ea. Non quod veniam quisquam molestias aut deserunt tempora. Mollitia consequuntur facilis doloremque provident eligendi similique possimus. Deleniti facere quam fugiat porro. Tenetur cupiditate eum consequatur beatae dolorum. Veniam voluptatem qui eum quasi corrupti. Quis necessitatibus maxime eum numquam ipsam ducimus expedita maiores. Aliquid voluptas non aut. Tempore dicta ut aperiam ipsum ut et esse explicabo.";
232+
233+
let first_start = Instant::now();
234+
compress_data_br("lorem-br", source);
235+
let first = first_start.elapsed();
236+
let second_start = Instant::now();
237+
compress_data_br("lorem-br", source);
238+
let second = second_start.elapsed();
239+
240+
// Check that the second call was faster
241+
assert!(first > second);
242+
}
243+
220244
#[test]
221245
#[cfg(feature = "compression-zstd")]
222246
fn zstd_roundtrip() {

0 commit comments

Comments
 (0)