use rust_alloc::vec;
use rust_alloc::vec::Vec;
use crate::Decode;
use crate::wire::tag::{DATA_MASK, Kind, Tag};
#[derive(Debug, PartialEq, Decode)]
#[musli(crate, name(type = usize))]
struct Empty {}
#[test]
fn skip_over_absurd_lengths() {
let prefix = Tag::new(Kind::Sequence, DATA_MASK).byte();
let mut max = vec![0xFFu8; 9];
max.push(0x01);
let mut bytes: Vec<u8> = vec![
Tag::new(Kind::Sequence, 2).byte(),
Tag::new(Kind::Continuation, 0).byte(),
];
for _ in 0..4 {
bytes.push(prefix);
bytes.extend_from_slice(&max);
}
assert!(super::super::from_slice::<Empty>(&bytes).is_err());
}