]> git.lizzy.rs Git - rust.git/commitdiff
Move collectionstest::char into coretest::char
authorSimon Sapin <simon.sapin@exyr.org>
Tue, 9 Jun 2015 09:38:11 +0000 (11:38 +0200)
committerSimon Sapin <simon.sapin@exyr.org>
Tue, 9 Jun 2015 11:08:29 +0000 (13:08 +0200)
src/libcollectionstest/char.rs [deleted file]
src/libcollectionstest/lib.rs
src/libcoretest/char.rs

diff --git a/src/libcollectionstest/char.rs b/src/libcollectionstest/char.rs
deleted file mode 100644 (file)
index 1ef2f9e..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.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.
-
-use collections::vec::Vec;
-
-#[test]
-fn char_to_lowercase() {
-    assert_iter_eq('A'.to_lowercase(), &['a']);
-    assert_iter_eq('É'.to_lowercase(), &['é']);
-    assert_iter_eq('Dž'.to_lowercase(), &['dž']);
-}
-
-#[test]
-fn char_to_uppercase() {
-    assert_iter_eq('a'.to_uppercase(), &['A']);
-    assert_iter_eq('é'.to_uppercase(), &['É']);
-    assert_iter_eq('Dž'.to_uppercase(), &['DŽ']);
-    assert_iter_eq('ß'.to_uppercase(), &['S', 'S']);
-    assert_iter_eq('fi'.to_uppercase(), &['F', 'I']);
-    assert_iter_eq('ᾀ'.to_uppercase(), &['Ἀ', 'Ι']);
-}
-
-#[test]
-fn char_to_titlecase() {
-    assert_iter_eq('a'.to_titlecase(), &['A']);
-    assert_iter_eq('é'.to_titlecase(), &['É']);
-    assert_iter_eq('DŽ'.to_titlecase(), &['Dž']);
-    assert_iter_eq('ß'.to_titlecase(), &['S', 's']);
-    assert_iter_eq('fi'.to_titlecase(), &['F', 'i']);
-    assert_iter_eq('ᾀ'.to_titlecase(), &['ᾈ']);
-}
-
-fn assert_iter_eq<I: Iterator<Item=char>>(iter: I, expected: &[char]) {
-    assert_eq!(iter.collect::<Vec<_>>(), expected);
-}
index 95794ae211b5cc66d0d14a06189a1462db9cca08..0e3f9d5aaddf6aa29c87069a0dfcd52cfaa61c37 100644 (file)
@@ -37,7 +37,6 @@
 mod binary_heap;
 mod bit;
 mod btree;
-mod char;  // char isn't really a collection, but didn't find a better place for this.
 mod enum_set;
 mod fmt;
 mod linked_list;
index e5f5919834b7c0146c0e7a6299dabc1cc31579db..1506982586a00a55f819084d2e9f6b5a33b8e849 100644 (file)
@@ -75,6 +75,8 @@ fn lower(c: char) -> char {
     assert_eq!(lower('Μ'), 'μ');
     assert_eq!(lower('Α'), 'α');
     assert_eq!(lower('Σ'), 'σ');
+    assert_eq!(lower('Dž'), 'dž');
+    assert_eq!(lower('fi'), 'fi');
 }
 
 #[test]
@@ -95,6 +97,32 @@ fn upper(c: char) -> Vec<char> {
     assert_eq!(upper('μ'), ['Μ']);
     assert_eq!(upper('α'), ['Α']);
     assert_eq!(upper('ς'), ['Σ']);
+    assert_eq!(upper('Dž'), ['DŽ']);
+    assert_eq!(upper('fi'), ['F', 'I']);
+    assert_eq!(upper('ᾀ'), ['Ἀ', 'Ι']);
+}
+
+#[test]
+fn test_to_titlecase() {
+    fn title(c: char) -> Vec<char> {
+        c.to_titlecase().collect()
+    }
+    assert_eq!(title('a'), ['A']);
+    assert_eq!(title('ö'), ['Ö']);
+    assert_eq!(title('ß'), ['S', 's']); // not ẞ: Latin capital letter sharp s
+    assert_eq!(title('ü'), ['Ü']);
+    assert_eq!(title('💩'), ['💩']);
+
+    assert_eq!(title('σ'), ['Σ']);
+    assert_eq!(title('τ'), ['Τ']);
+    assert_eq!(title('ι'), ['Ι']);
+    assert_eq!(title('γ'), ['Γ']);
+    assert_eq!(title('μ'), ['Μ']);
+    assert_eq!(title('α'), ['Α']);
+    assert_eq!(title('ς'), ['Σ']);
+    assert_eq!(title('DŽ'), ['Dž']);
+    assert_eq!(title('fi'), ['F', 'i']);
+    assert_eq!(title('ᾀ'), ['ᾈ']);
 }
 
 #[test]