Skip to content

Commit f0e4a5d

Browse files
committed
more tests for new stuff
1 parent bc4d090 commit f0e4a5d

1 file changed

Lines changed: 33 additions & 0 deletions

File tree

src/lib.rs

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1367,4 +1367,37 @@ mod test {
13671367
assert!(rest.is_empty());
13681368
Ok(())
13691369
}
1370+
1371+
#[test]
1372+
fn enc_dec_byte_slice() -> Result<(), EncodingError> {
1373+
let input: &[u8] = b"hello world";
1374+
let buf = input.to_encoded_bytes()?;
1375+
let (result, rest): (Vec<u8>, &[u8]) = Vec::<u8>::decode(&buf)?;
1376+
assert_eq!(result, input);
1377+
assert!(rest.is_empty());
1378+
Ok(())
1379+
}
1380+
1381+
#[test]
1382+
fn enc_dec_empty_slice_slice_u8() -> Result<(), EncodingError> {
1383+
let input: &[&[u8]] = &[];
1384+
let buf = input.to_encoded_bytes()?;
1385+
assert_eq!(buf.len(), 1); // just the length prefix
1386+
let (result, rest): (Vec<Vec<u8>>, &[u8]) = Vec::<Vec<u8>>::decode(&buf)?;
1387+
assert!(result.is_empty());
1388+
assert!(rest.is_empty());
1389+
Ok(())
1390+
}
1391+
1392+
#[test]
1393+
fn slice_and_vec_encode_identically() -> Result<(), EncodingError> {
1394+
let vec_input = vec![b"hello".to_vec(), b"goodbye".to_vec()];
1395+
let slice_input: &[&[u8]] = &[b"hello".as_slice(), b"goodbye".as_slice()];
1396+
1397+
let vec_buf = vec_input.to_encoded_bytes()?;
1398+
let slice_buf = slice_input.to_encoded_bytes()?;
1399+
1400+
assert_eq!(&*vec_buf, &*slice_buf);
1401+
Ok(())
1402+
}
13701403
}

0 commit comments

Comments
 (0)