Skip to content

Commit f803fa0

Browse files
authored
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
1 parent 6d8ab62 commit f803fa0

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

src/write.rs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2434,6 +2434,28 @@ mod test {
24342434
assert_eq!(file.data_start(), page_size.into());
24352435
}
24362436

2437+
#[test]
2438+
fn test_alignment_2() {
2439+
let page_size = 4096;
2440+
let mut data = Vec::new();
2441+
{
2442+
let options = SimpleFileOptions::default()
2443+
.compression_method(Stored)
2444+
.with_alignment(page_size);
2445+
let mut zip = ZipWriter::new(Cursor::new(&mut data));
2446+
let contents = b"sleeping";
2447+
let () = zip.start_file("sleep", options).unwrap();
2448+
let _count = zip.write(&contents[..]).unwrap();
2449+
}
2450+
assert_eq!(data[4096..4104], b"sleeping"[..]);
2451+
{
2452+
let mut zip = ZipArchive::new(Cursor::new(&mut data)).unwrap();
2453+
let file = zip.by_index(0).unwrap();
2454+
assert_eq!(file.name(), "sleep");
2455+
assert_eq!(file.data_start(), page_size.into());
2456+
}
2457+
}
2458+
24372459
#[test]
24382460
fn test_crash_short_read() {
24392461
let mut writer = ZipWriter::new(Cursor::new(Vec::new()));

0 commit comments

Comments
 (0)