Skip to content

Commit 9c8f49e

Browse files
committed
test(decode): add tests for domain_name_without_compression
1 parent 6edb5d8 commit 9c8f49e

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed

src/decode/domain_name.rs

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,3 +106,58 @@ impl_decode!(
106106
domain_name_without_compression,
107107
decode_without_compression
108108
);
109+
110+
#[test]
111+
fn domain_name_without_compression_1() {
112+
let domain_name: DomainName = "example.org.".parse().unwrap();
113+
let mut decoder = Decoder::main(bytes::Bytes::copy_from_slice(
114+
&b"\x07example\x03org\0\x07example\x03org\0"[..],
115+
));
116+
assert_eq!(
117+
decoder.domain_name_without_compression().unwrap(),
118+
domain_name
119+
);
120+
assert_eq!(
121+
decoder.domain_name_without_compression().unwrap(),
122+
domain_name
123+
);
124+
assert!(decoder.is_finished().unwrap());
125+
}
126+
127+
#[test]
128+
fn domain_name_without_compression_2() {
129+
let domain_name: DomainName = "example.org.".parse().unwrap();
130+
let mut decoder = Decoder::main(bytes::Bytes::copy_from_slice(
131+
&b"\x07example\x03org\0\x07example\x03org\0"[..],
132+
));
133+
assert_eq!(
134+
decoder.domain_name_without_compression().unwrap(),
135+
domain_name
136+
);
137+
assert_eq!(
138+
decoder.domain_name_without_compression().unwrap(),
139+
domain_name
140+
);
141+
assert!(decoder.is_finished().unwrap());
142+
}
143+
144+
#[test]
145+
fn domain_name_without_compression_3() {
146+
let domain_name: DomainName = "example.org.".parse().unwrap();
147+
let mut decoder = Decoder::main(bytes::Bytes::copy_from_slice(
148+
&b"\x07example\x03org\0\x07example\x03org\0\xc0\r"[..],
149+
));
150+
assert_eq!(
151+
decoder.domain_name_without_compression().unwrap(),
152+
domain_name
153+
);
154+
assert_eq!(
155+
decoder.domain_name_without_compression().unwrap(),
156+
domain_name
157+
);
158+
assert_eq!(
159+
decoder.domain_name_without_compression(),
160+
Err(DecodeError::DomainNameCompressed(13))
161+
);
162+
assert!(decoder.is_finished().unwrap());
163+
}

0 commit comments

Comments
 (0)