1 /* Copyright 2018 The encode_unicode Developers 2 * 3 * Licensed under the Apache License, Version 2.0, <LICENSE-APACHE or 4 * http://apache.org/licenses/LICENSE-2.0> or the MIT license <LICENSE-MIT or 5 * http://opensource.org/licenses/MIT>, at your option. This file may not be 6 * copied, modified, or distributed except according to those terms. 7 */ 8 9 //! Tests that try all possible values for at least one parameter / byte / unit 10 //! of the tested function. 11 12 use std::char; 13 extern crate encode_unicode; 14 use encode_unicode::*; 15 16 #[test] from_ascii()17fn from_ascii() { 18 for cp in 0u32..256 { 19 assert_eq!(Utf8Char::from_ascii(cp as u8).is_ok(), cp & 0x80 == 0); 20 if let Ok(u8c) = Utf8Char::from_ascii(cp as u8) { 21 assert_eq!(u8c, Utf8Char::from(cp as u8 as char)); 22 } 23 } 24 } 25 26 #[test] from_bmp()27fn from_bmp() { 28 for cp in 0u32..0x1_00_00 { 29 assert_eq!( 30 Utf16Char::from_bmp(cp as u16).ok(), 31 char::from_u32(cp).map(|u32c| Utf16Char::from(u32c) ) 32 ); 33 } 34 } 35