MCPcopy Create free account
hub / github.com/Recordscript/recordscript / test_codec6

Function test_codec6

libs/hbb_common/src/bytes_codec.rs:246–279  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

244
245 #[test]
246 fn test_codec6() {
247 let mut codec = BytesCodec::new();
248 let mut buf = BytesMut::new();
249 let mut bytes: Vec<u8> = Vec::new();
250 bytes.resize(0x3FFFFF + 1, 6);
251 assert!(codec.encode(bytes.into(), &mut buf).is_ok());
252 let buf_saved = buf.clone();
253 assert_eq!(buf.len(), 0x3FFFFF + 4 + 1);
254 if let Ok(Some(res)) = codec.decode(&mut buf) {
255 assert_eq!(res.len(), 0x3FFFFF + 1);
256 assert_eq!(res[0], 6);
257 } else {
258 panic!();
259 }
260 let mut codec2 = BytesCodec::new();
261 let mut buf2 = BytesMut::new();
262 buf2.extend(&buf_saved[0..1]);
263 if let Ok(None) = codec2.decode(&mut buf2) {
264 } else {
265 panic!();
266 }
267 buf2.extend(&buf_saved[1..6]);
268 if let Ok(None) = codec2.decode(&mut buf2) {
269 } else {
270 panic!();
271 }
272 buf2.extend(&buf_saved[6..]);
273 if let Ok(Some(res)) = codec2.decode(&mut buf2) {
274 assert_eq!(res.len(), 0x3FFFFF + 1);
275 assert_eq!(res[0], 6);
276 } else {
277 panic!();
278 }
279 }
280}

Callers

nothing calls this directly

Calls 2

cloneMethod · 0.45
decodeMethod · 0.45

Tested by

no test coverage detected