use super::Nsec;
use crate::error::ParseError;
const NAME: &[u8] = &[1, b'x', 5, b'l', b'o', b'c', b'a', b'l', 0];
const MSG: &[u8] = &[
1, b'x', 5, b'l', b'o', b'c', b'a', b'l', 0, 0, 1, 0x40, ];
#[test]
fn parses_next_name_and_bitmap() {
let nsec = Nsec::try_from_message(MSG, 0, MSG.len()).unwrap();
let _ = nsec.next_name();
assert_eq!(nsec.type_bitmap_slice(), [0u8, 1, 0x40].as_slice());
}
#[test]
fn rejects_name_overrunning_rdata_len() {
assert!(matches!(
Nsec::try_from_message(NAME, 0, 5),
Err(ParseError::BufferTooShort(_))
));
}
#[test]
fn rejects_rdata_len_past_message_end() {
assert!(matches!(
Nsec::try_from_message(NAME, 0, 20),
Err(ParseError::BufferTooShort(_))
));
}