test: (#33) Verify that data_start is correct when reading an alignment-padded file (#228)

* test: Add test that `data_start` is correctly detected while reading

* chore: Fix imports
This commit is contained in:
Chris Hennick 2024-07-29 09:23:32 -07:00 committed by GitHub
parent 6d8ab6224b
commit f803fa0197
Signed by: DevComp
GPG key ID: B5690EEEBB952194

View file

@ -2434,6 +2434,28 @@ mod test {
assert_eq!(file.data_start(), page_size.into());
}
#[test]
fn test_alignment_2() {
let page_size = 4096;
let mut data = Vec::new();
{
let options = SimpleFileOptions::default()
.compression_method(Stored)
.with_alignment(page_size);
let mut zip = ZipWriter::new(Cursor::new(&mut data));
let contents = b"sleeping";
let () = zip.start_file("sleep", options).unwrap();
let _count = zip.write(&contents[..]).unwrap();
}
assert_eq!(data[4096..4104], b"sleeping"[..]);
{
let mut zip = ZipArchive::new(Cursor::new(&mut data)).unwrap();
let file = zip.by_index(0).unwrap();
assert_eq!(file.name(), "sleep");
assert_eq!(file.data_start(), page_size.into());
}
}
#[test]
fn test_crash_short_read() {
let mut writer = ZipWriter::new(Cursor::new(Vec::new()));