Add a test for char::DecodeUtf16::size_hint
This commit is contained in:
parent
cd4245d318
commit
9c8cd1ff37
@ -308,6 +308,31 @@ fn test_decode_utf16() {
|
||||
check(&[0xD800, 0], &[Err(0xD800), Ok('\0')]);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_decode_utf16_size_hint() {
|
||||
fn check(s: &[u16]) {
|
||||
let mut iter = char::decode_utf16(s.iter().cloned());
|
||||
|
||||
loop {
|
||||
let count = iter.clone().count();
|
||||
let (lower, upper) = iter.size_hint();
|
||||
|
||||
assert!(
|
||||
lower <= count && count <= upper.unwrap(),
|
||||
"lower = {lower}, upper = {upper:?}"
|
||||
);
|
||||
|
||||
if let None = iter.next() {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
check(&[0xD800, 0x41, 0x42]);
|
||||
check(&[0xD800, 0]);
|
||||
check(&[0xD834, 0x006d]);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn ed_iterator_specializations() {
|
||||
// Check counting
|
||||
|
Loading…
x
Reference in New Issue
Block a user