about summary refs log tree commit diff
path: root/library/std/src/sys_common/wtf8
diff options
context:
space:
mode:
authorDeadbeef <fee1-dead-beef@protonmail.com>2021-06-19 12:59:22 +0800
committerDeadbeef <fee1-dead-beef@protonmail.com>2021-06-19 12:59:22 +0800
commit15cdb28f5bd4cae04d6fd0bc9ae2faf079448d22 (patch)
tree3f627b9cb874fc59fb81dde6153284ed2d1ceddf /library/std/src/sys_common/wtf8
parentec57c60c50de4f601a5dbe80e663388058e6e527 (diff)
Account for self.extra in size_hint for EncodeWide
Diffstat (limited to 'library/std/src/sys_common/wtf8')
-rw-r--r--library/std/src/sys_common/wtf8/tests.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/library/std/src/sys_common/wtf8/tests.rs b/library/std/src/sys_common/wtf8/tests.rs
index 385e01f92fa..5afbc6fcee3 100644
--- a/library/std/src/sys_common/wtf8/tests.rs
+++ b/library/std/src/sys_common/wtf8/tests.rs
@@ -395,3 +395,15 @@ fn wtf8_encode_wide() {
         vec![0x61, 0xE9, 0x20, 0xD83D, 0xD83D, 0xDCA9]
     );
 }
+
+#[test]
+fn wtf8_encode_wide_size_hint() {
+    let string = Wtf8Buf::from_str("\u{12345}");
+    let mut iter = string.encode_wide();
+    assert_eq!((1, Some(8)), iter.size_hint());
+    iter.next().unwrap();
+    assert_eq!((1, Some(1)), iter.size_hint());
+    iter.next().unwrap();
+    assert_eq!((0, Some(0)), iter.size_hint());
+    assert!(iter.next().is_none());
+}