summaryrefslogtreecommitdiff
path: root/vendor/encode_unicode/tests/exhaustive.rs
diff options
context:
space:
mode:
authorValentin Popov <valentin@popov.link>2024-01-08 00:21:28 +0300
committerValentin Popov <valentin@popov.link>2024-01-08 00:21:28 +0300
commit1b6a04ca5504955c571d1c97504fb45ea0befee4 (patch)
tree7579f518b23313e8a9748a88ab6173d5e030b227 /vendor/encode_unicode/tests/exhaustive.rs
parent5ecd8cf2cba827454317368b68571df0d13d7842 (diff)
downloadfparkan-1b6a04ca5504955c571d1c97504fb45ea0befee4.tar.xz
fparkan-1b6a04ca5504955c571d1c97504fb45ea0befee4.zip
Initial vendor packages
Signed-off-by: Valentin Popov <valentin@popov.link>
Diffstat (limited to 'vendor/encode_unicode/tests/exhaustive.rs')
-rw-r--r--vendor/encode_unicode/tests/exhaustive.rs34
1 files changed, 34 insertions, 0 deletions
diff --git a/vendor/encode_unicode/tests/exhaustive.rs b/vendor/encode_unicode/tests/exhaustive.rs
new file mode 100644
index 0000000..ce60c6b
--- /dev/null
+++ b/vendor/encode_unicode/tests/exhaustive.rs
@@ -0,0 +1,34 @@
+/* Copyright 2018 The encode_unicode Developers
+ *
+ * Licensed under the Apache License, Version 2.0, <LICENSE-APACHE or
+ * http://apache.org/licenses/LICENSE-2.0> or the MIT license <LICENSE-MIT or
+ * http://opensource.org/licenses/MIT>, at your option. This file may not be
+ * copied, modified, or distributed except according to those terms.
+ */
+
+//! Tests that try all possible values for at least one parameter / byte / unit
+//! of the tested function.
+
+use std::char;
+extern crate encode_unicode;
+use encode_unicode::*;
+
+#[test]
+fn from_ascii() {
+ for cp in 0u32..256 {
+ assert_eq!(Utf8Char::from_ascii(cp as u8).is_ok(), cp & 0x80 == 0);
+ if let Ok(u8c) = Utf8Char::from_ascii(cp as u8) {
+ assert_eq!(u8c, Utf8Char::from(cp as u8 as char));
+ }
+ }
+}
+
+#[test]
+fn from_bmp() {
+ for cp in 0u32..0x1_00_00 {
+ assert_eq!(
+ Utf16Char::from_bmp(cp as u16).ok(),
+ char::from_u32(cp).map(|u32c| Utf16Char::from(u32c) )
+ );
+ }
+}