Skip to content

Commit d736ed5

Browse files
committed
tests: test deserialing at offsets
1 parent fc1804e commit d736ed5

1 file changed

Lines changed: 19 additions & 10 deletions

File tree

croaring/tests/lib.rs

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -149,21 +149,30 @@ fn cursor_return_from_the_edge() {
149149
#[test]
150150
fn test_portable_view() {
151151
init();
152-
let buffer = fs::read("tests/data/portable_bitmap.bin").unwrap();
153-
let bitmap = unsafe { BitmapView::deserialize::<Portable>(&buffer) };
154-
let expected = expected_serialized_bitmap();
155-
assert_eq!(bitmap, expected);
156-
assert!(bitmap.iter().eq(expected.iter()))
152+
let mut buffer = fs::read("tests/data/portable_bitmap.bin").unwrap();
153+
buffer.reserve(32);
154+
for offset in 0..32 {
155+
let bitmap = unsafe { BitmapView::deserialize::<Portable>(&buffer[offset..]) };
156+
let expected = expected_serialized_bitmap();
157+
assert_eq!(bitmap, expected);
158+
assert!(bitmap.iter().eq(expected.iter()));
159+
drop(bitmap);
160+
buffer.insert(0, 0xff);
161+
}
157162
}
158163

159164
#[test]
160165
fn test_native() {
161166
init();
162-
let buffer = fs::read("tests/data/native_bitmap.bin").unwrap();
163-
let bitmap = Bitmap::deserialize::<Native>(&buffer);
164-
let expected = expected_serialized_bitmap();
165-
assert_eq!(bitmap, expected);
166-
assert!(bitmap.iter().eq(expected.iter()))
167+
let mut buffer = fs::read("tests/data/native_bitmap.bin").unwrap();
168+
buffer.reserve(32);
169+
for offset in 0..32 {
170+
let bitmap = Bitmap::deserialize::<Native>(&buffer[offset..]);
171+
let expected = expected_serialized_bitmap();
172+
assert_eq!(bitmap, expected);
173+
assert!(bitmap.iter().eq(expected.iter()));
174+
buffer.insert(0, 0xff);
175+
}
167176
}
168177

169178
#[test]

0 commit comments

Comments
 (0)