File tree 1 file changed +24
-0
lines changed
library/std/src/sys_common/wtf8
1 file changed +24
-0
lines changed Original file line number Diff line number Diff line change @@ -725,3 +725,27 @@ fn wtf8_utf8_boundary_between_surrogates() {
725
725
string.push(CodePoint::from_u32(0xD800).unwrap());
726
726
check_utf8_boundary(&string, 3);
727
727
}
728
+
729
+ #[test]
730
+ fn wobbled_wtf8_plus_bytes_isnt_utf8() {
731
+ let mut string: Wtf8Buf = unsafe { Wtf8::from_bytes_unchecked(b"\xED\xA0\x80").to_owned() };
732
+ assert!(!string.is_known_utf8);
733
+ string.extend_from_slice(b"some utf-8");
734
+ assert!(!string.is_known_utf8);
735
+ }
736
+
737
+ #[test]
738
+ fn wobbled_wtf8_plus_str_isnt_utf8() {
739
+ let mut string: Wtf8Buf = unsafe { Wtf8::from_bytes_unchecked(b"\xED\xA0\x80").to_owned() };
740
+ assert!(!string.is_known_utf8);
741
+ string.push_str("some utf-8");
742
+ assert!(!string.is_known_utf8);
743
+ }
744
+
745
+ #[test]
746
+ fn unwobbly_wtf8_plus_utf8_is_utf8() {
747
+ let mut string: Wtf8Buf = Wtf8Buf::from_str("hello world");
748
+ assert!(string.is_known_utf8);
749
+ string.push_str("some utf-8");
750
+ assert!(string.is_known_utf8);
751
+ }
You can’t perform that action at this time.
0 commit comments