aboutsummaryrefslogtreecommitdiff
path: root/src/test/run-pass/utf8.rs
diff options
context:
space:
mode:
authorGraydon Hoare <[email protected]>2010-06-23 21:03:09 -0700
committerGraydon Hoare <[email protected]>2010-06-23 21:03:09 -0700
commitd6b7c96c3eb29b9244ece0c046d3f372ff432d04 (patch)
treeb425187e232966063ffc2f0d14c04a55d8f004ef /src/test/run-pass/utf8.rs
parentInitial git commit. (diff)
downloadrust-d6b7c96c3eb29b9244ece0c046d3f372ff432d04.tar.xz
rust-d6b7c96c3eb29b9244ece0c046d3f372ff432d04.zip
Populate tree.
Diffstat (limited to 'src/test/run-pass/utf8.rs')
-rw-r--r--src/test/run-pass/utf8.rs48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/test/run-pass/utf8.rs b/src/test/run-pass/utf8.rs
new file mode 100644
index 00000000..fd70423a
--- /dev/null
+++ b/src/test/run-pass/utf8.rs
@@ -0,0 +1,48 @@
+fn main() {
+ let char yen = '¥'; // 0xa5
+ let char c_cedilla = 'ç'; // 0xe7
+ let char thorn = 'þ'; // 0xfe
+ let char y_diaeresis = 'ÿ'; // 0xff
+ let char pi = 'Π'; // 0x3a0
+
+ check (int(yen) == 0xa5);
+ check (int(c_cedilla) == 0xe7);
+ check (int(thorn) == 0xfe);
+ check (int(y_diaeresis) == 0xff);
+ check (int(pi) == 0x3a0);
+
+ check (int(pi) == int('\u03a0'));
+ check (int('\x0a') == int('\n'));
+
+ let str bhutan = "འབྲུག་ཡུལ།";
+ let str japan = "日本";
+ let str uzbekistan = "Ўзбекистон";
+ let str austria = "Österreich";
+
+ let str bhutan_e =
+ "\u0f60\u0f56\u0fb2\u0f74\u0f42\u0f0b\u0f61\u0f74\u0f63\u0f0d";
+ let str japan_e = "\u65e5\u672c";
+ let str uzbekistan_e =
+ "\u040e\u0437\u0431\u0435\u043a\u0438\u0441\u0442\u043e\u043d";
+ let str austria_e = "\u00d6sterreich";
+
+ let char oo = 'Ö';
+ check (int(oo) == 0xd6);
+
+ fn check_str_eq(str a, str b) {
+ let int i = 0;
+ for (u8 ab in a) {
+ log i;
+ log ab;
+ let u8 bb = b.(i);
+ log bb;
+ check(ab == bb);
+ i += 1;
+ }
+ }
+
+ check_str_eq(bhutan, bhutan_e);
+ check_str_eq(japan, japan_e);
+ check_str_eq(uzbekistan, uzbekistan_e);
+ check_str_eq(austria, austria_e);
+} \ No newline at end of file