]> git.lizzy.rs Git - rust.git/blob - src/test/run-pass/utf8.rs
auto merge of #13610 : jsanders/rust/sender-try-send-docs, r=alexcrichton
[rust.git] / src / test / run-pass / utf8.rs
1 // Copyright 2012 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
4 //
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
10
11 pub fn main() {
12     let yen: char = '¥'; // 0xa5
13     let c_cedilla: char = 'ç'; // 0xe7
14     let thorn: char = 'þ'; // 0xfe
15     let y_diaeresis: char = 'ÿ'; // 0xff
16     let pi: char = 'Π'; // 0x3a0
17
18     assert_eq!(yen as int, 0xa5);
19     assert_eq!(c_cedilla as int, 0xe7);
20     assert_eq!(thorn as int, 0xfe);
21     assert_eq!(y_diaeresis as int, 0xff);
22     assert_eq!(pi as int, 0x3a0);
23
24     assert_eq!(pi as int, '\u03a0' as int);
25     assert_eq!('\x0a' as int, '\n' as int);
26
27     let bhutan: ~str = "འབྲུག་ཡུལ།".to_owned();
28     let japan: ~str = "日本".to_owned();
29     let uzbekistan: ~str = "Ўзбекистон".to_owned();
30     let austria: ~str = "Österreich".to_owned();
31
32     let bhutan_e: ~str =
33         "\u0f60\u0f56\u0fb2\u0f74\u0f42\u0f0b\u0f61\u0f74\u0f63\u0f0d".to_owned();
34     let japan_e: ~str = "\u65e5\u672c".to_owned();
35     let uzbekistan_e: ~str =
36         "\u040e\u0437\u0431\u0435\u043a\u0438\u0441\u0442\u043e\u043d".to_owned();
37     let austria_e: ~str = "\u00d6sterreich".to_owned();
38
39     let oo: char = 'Ö';
40     assert_eq!(oo as int, 0xd6);
41
42     fn check_str_eq(a: ~str, b: ~str) {
43         let mut i: int = 0;
44         for ab in a.bytes() {
45             println!("{}", i);
46             println!("{}", ab);
47             let bb: u8 = b[i as uint];
48             println!("{}", bb);
49             assert_eq!(ab, bb);
50             i += 1;
51         }
52     }
53
54     check_str_eq(bhutan, bhutan_e);
55     check_str_eq(japan, japan_e);
56     check_str_eq(uzbekistan, uzbekistan_e);
57     check_str_eq(austria, austria_e);
58 }