]> git.proxmox.com Git - rustc.git/blob - src/test/ui/utf8.rs
New upstream version 1.40.0+dfsg1
[rustc.git] / src / test / ui / utf8.rs
1 // run-pass
2
3 pub fn main() {
4 let yen: char = '¥'; // 0xa5
5 let c_cedilla: char = 'ç'; // 0xe7
6 let thorn: char = 'þ'; // 0xfe
7 let y_diaeresis: char = 'ÿ'; // 0xff
8 let pi: char = 'Π'; // 0x3a0
9
10 assert_eq!(yen as isize, 0xa5);
11 assert_eq!(c_cedilla as isize, 0xe7);
12 assert_eq!(thorn as isize, 0xfe);
13 assert_eq!(y_diaeresis as isize, 0xff);
14 assert_eq!(pi as isize, 0x3a0);
15
16 assert_eq!(pi as isize, '\u{3a0}' as isize);
17 assert_eq!('\x0a' as isize, '\n' as isize);
18
19 let bhutan: String = "འབྲུག་ཡུལ།".to_string();
20 let japan: String = "日本".to_string();
21 let uzbekistan: String = "Ўзбекистон".to_string();
22 let austria: String = "Österreich".to_string();
23
24 let bhutan_e: String =
25 "\u{f60}\u{f56}\u{fb2}\u{f74}\u{f42}\u{f0b}\u{f61}\u{f74}\u{f63}\u{f0d}".to_string();
26 let japan_e: String = "\u{65e5}\u{672c}".to_string();
27 let uzbekistan_e: String =
28 "\u{40e}\u{437}\u{431}\u{435}\u{43a}\u{438}\u{441}\u{442}\u{43e}\u{43d}".to_string();
29 let austria_e: String = "\u{d6}sterreich".to_string();
30
31 let oo: char = 'Ö';
32 assert_eq!(oo as isize, 0xd6);
33
34 fn check_str_eq(a: String, b: String) {
35 let mut i: isize = 0;
36 for ab in a.bytes() {
37 println!("{}", i);
38 println!("{}", ab);
39 let bb: u8 = b.as_bytes()[i as usize];
40 println!("{}", bb);
41 assert_eq!(ab, bb);
42 i += 1;
43 }
44 }
45
46 check_str_eq(bhutan, bhutan_e);
47 check_str_eq(japan, japan_e);
48 check_str_eq(uzbekistan, uzbekistan_e);
49 check_str_eq(austria, austria_e);
50 }