35 lines
		
	
	
		
			1005 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			1005 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
/* 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) )
 | 
						|
        );
 | 
						|
    }
 | 
						|
}
 |