use qubit_codec::{
CodecTranscodeConverter,
TranscodeStatus,
};
use crate::common::IdentityCodec;
#[test]
fn test_pending_value_retains_source_position_when_output_is_short() {
let mut converter =
CodecTranscodeConverter::new(IdentityCodec, IdentityCodec);
let mut reset_output = [];
converter
.reset(&mut reset_output, 0)
.expect("initialize stream");
let progress = converter
.transcode(&[11], 0, &mut [], 0)
.expect("short output should retain the decoded value");
assert_eq!(
TranscodeStatus::NeedOutput {
required: crate::nz(1),
},
progress.status(),
);
assert_eq!((1, 0), (progress.read(), progress.written()));
}