diff options
| author | Simon Sapin <simon.sapin@exyr.org> | 2016-08-17 18:01:41 +0200 |
|---|---|---|
| committer | Simon Sapin <simon.sapin@exyr.org> | 2016-08-29 17:34:02 +0200 |
| commit | f040208d533e1d6d9ee0e0408ee74e26e14d1284 (patch) | |
| tree | 5592063ace04a7f2016e6398094b66b7e4ad521b /src/libcoretest | |
| parent | 41d0a89e3ad99a9fdf700ea7d15750fe1cbfab14 (diff) | |
Implement TryFrom<u32> for char
For symmetry with From<char> for u32.
Diffstat (limited to 'src/libcoretest')
| -rw-r--r-- | src/libcoretest/char.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/libcoretest/char.rs b/src/libcoretest/char.rs index 92a2b23d242..199437a431e 100644 --- a/src/libcoretest/char.rs +++ b/src/libcoretest/char.rs @@ -9,6 +9,7 @@ // except according to those terms. use std::char; +use std::convert::TryFrom; #[test] fn test_convert() { @@ -16,6 +17,15 @@ fn test_convert() { assert_eq!(char::from(b'\0'), '\0'); assert_eq!(char::from(b'a'), 'a'); assert_eq!(char::from(b'\xFF'), '\u{FF}'); + assert_eq!(char::try_from(0_u32), Ok('\0')); + assert_eq!(char::try_from(0x61_u32), Ok('a')); + assert_eq!(char::try_from(0xD7FF_u32), Ok('\u{D7FF}')); + assert!(char::try_from(0xD800_u32).is_err()); + assert!(char::try_from(0xDFFF_u32).is_err()); + assert_eq!(char::try_from(0xE000_u32), Ok('\u{E000}')); + assert_eq!(char::try_from(0x10FFFF_u32), Ok('\u{10FFFF}')); + assert!(char::try_from(0x110000_u32).is_err()); + assert!(char::try_from(0xFFFF_FFFF_u32).is_err()); } #[test] |
