Skip to content

Commit 085aef0

Browse files
committed
test(decompression-plz): More edge cases for DecompressionState to main and/or extra body
1 parent 216cc0f commit 085aef0

File tree

1 file changed

+16
-1
lines changed
  • decompression-plz/src/decompression

1 file changed

+16
-1
lines changed

decompression-plz/src/decompression/state.rs

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,8 @@ impl<'a> From<DecompressionState<'a>> for (BytesMut, Option<BytesMut>) {
186186
fn from(state: DecompressionState) -> Self {
187187
match state {
188188
DecompressionState::EndMainOnly(main)
189-
| DecompressionState::EndMainPlusExtra(main) => (main, None),
189+
| DecompressionState::EndMainPlusExtra(main)
190+
| DecompressionState::EndExtraRawMainDone(_, main) => (main, None),
190191
DecompressionState::EndExtraMainSeparate(main, extra) => {
191192
(main, Some(extra))
192193
}
@@ -471,6 +472,20 @@ mod tests {
471472
assert!(extra.is_none());
472473
}
473474

475+
#[test]
476+
fn test_state_to_bytes_EndExtraRawMainDone() {
477+
let mut buf = BytesMut::new();
478+
let mut dstruct =
479+
DecompressionStruct::new(&[], None, &mut [], (&mut buf).writer());
480+
let state = DecompressionState::EndExtraRawMainDone(
481+
dstruct,
482+
BytesMut::from(INPUT),
483+
);
484+
let (main, extra) = state.into();
485+
assert_eq!(main, INPUT);
486+
assert!(extra.is_none());
487+
}
488+
474489
#[test]
475490
fn test_state_to_bytes_EndExtraMainSeparate() {
476491
let state = DecompressionState::EndExtraMainSeparate(

0 commit comments

Comments
 (0)