about summary refs log tree commit diff
path: root/src/libcollectionstest/str.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/libcollectionstest/str.rs')
-rw-r--r--src/libcollectionstest/str.rs559
1 files changed, 0 insertions, 559 deletions
diff --git a/src/libcollectionstest/str.rs b/src/libcollectionstest/str.rs
index 4cccb29b41c..f890e3ca2e1 100644
--- a/src/libcollectionstest/str.rs
+++ b/src/libcollectionstest/str.rs
@@ -19,36 +19,6 @@ fn test_le() {
     assert!("foo" != "bar");
 }
 
-#[allow(deprecated)]
-#[test]
-fn test_len() {
-    assert_eq!("".len(), 0);
-    assert_eq!("hello world".len(), 11);
-    assert_eq!("\x63".len(), 1);
-    assert_eq!("\u{a2}".len(), 2);
-    assert_eq!("\u{3c0}".len(), 2);
-    assert_eq!("\u{2620}".len(), 3);
-    assert_eq!("\u{1d11e}".len(), 4);
-
-    assert_eq!("".chars().count(), 0);
-    assert_eq!("hello world".chars().count(), 11);
-    assert_eq!("\x63".chars().count(), 1);
-    assert_eq!("\u{a2}".chars().count(), 1);
-    assert_eq!("\u{3c0}".chars().count(), 1);
-    assert_eq!("\u{2620}".chars().count(), 1);
-    assert_eq!("\u{1d11e}".chars().count(), 1);
-    assert_eq!("ประเทศไทย中华Việt Nam".chars().count(), 19);
-
-    assert_eq!("hello".width(false), 10);
-    assert_eq!("hello".width(true), 10);
-    assert_eq!("\0\0\0\0\0".width(false), 0);
-    assert_eq!("\0\0\0\0\0".width(true), 0);
-    assert_eq!("".width(false), 0);
-    assert_eq!("".width(true), 0);
-    assert_eq!("\u{2081}\u{2082}\u{2083}\u{2084}".width(false), 4);
-    assert_eq!("\u{2081}\u{2082}\u{2083}\u{2084}".width(true), 8);
-}
-
 #[test]
 fn test_find() {
     assert_eq!("hello".find('l'), Some(2));
@@ -117,19 +87,6 @@ fn test_find_str() {
     assert_eq!(data[43..86].find("Nam"), Some(83 - 43));
 }
 
-#[test]
-fn test_slice_chars() {
-    fn t(a: &str, b: &str, start: usize) {
-        assert_eq!(a.slice_chars(start, start + b.chars().count()), b);
-    }
-    t("", "", 0);
-    t("hello", "llo", 2);
-    t("hello", "el", 1);
-    t("αβλ", "β", 1);
-    t("αβλ", "", 3);
-    assert_eq!("ะเทศไท", "ประเทศไทย中华Việt Nam".slice_chars(2, 8));
-}
-
 fn s(x: &str) -> String { x.to_string() }
 
 macro_rules! test_concat {
@@ -599,29 +556,6 @@ fn test_as_ptr() {
 }
 
 #[test]
-fn test_subslice_offset() {
-    let a = "kernelsprite";
-    let b = &a[7..a.len()];
-    let c = &a[0..a.len() - 6];
-    assert_eq!(a.subslice_offset(b), 7);
-    assert_eq!(a.subslice_offset(c), 0);
-
-    let string = "a\nb\nc";
-    let lines: Vec<&str> = string.lines().collect();
-    assert_eq!(string.subslice_offset(lines[0]), 0);
-    assert_eq!(string.subslice_offset(lines[1]), 2);
-    assert_eq!(string.subslice_offset(lines[2]), 4);
-}
-
-#[test]
-#[should_panic]
-fn test_subslice_offset_2() {
-    let a = "alchemiter";
-    let b = "cruxtruder";
-    a.subslice_offset(b);
-}
-
-#[test]
 fn vec_str_conversions() {
     let s1: String = String::from("All mimsy were the borogoves");
 
@@ -977,88 +911,6 @@ fn test_split_whitespace() {
     assert_eq!(words, ["Märy", "häd", "ä", "little", "lämb", "Little", "lämb"])
 }
 
-#[allow(deprecated)]
-#[test]
-fn test_nfd_chars() {
-    macro_rules! t {
-        ($input: expr, $expected: expr) => {
-            assert_eq!($input.nfd_chars().collect::<String>(), $expected);
-        }
-    }
-    t!("abc", "abc");
-    t!("\u{1e0b}\u{1c4}", "d\u{307}\u{1c4}");
-    t!("\u{2026}", "\u{2026}");
-    t!("\u{2126}", "\u{3a9}");
-    t!("\u{1e0b}\u{323}", "d\u{323}\u{307}");
-    t!("\u{1e0d}\u{307}", "d\u{323}\u{307}");
-    t!("a\u{301}", "a\u{301}");
-    t!("\u{301}a", "\u{301}a");
-    t!("\u{d4db}", "\u{1111}\u{1171}\u{11b6}");
-    t!("\u{ac1c}", "\u{1100}\u{1162}");
-}
-
-#[allow(deprecated)]
-#[test]
-fn test_nfkd_chars() {
-    macro_rules! t {
-        ($input: expr, $expected: expr) => {
-            assert_eq!($input.nfkd_chars().collect::<String>(), $expected);
-        }
-    }
-    t!("abc", "abc");
-    t!("\u{1e0b}\u{1c4}", "d\u{307}DZ\u{30c}");
-    t!("\u{2026}", "...");
-    t!("\u{2126}", "\u{3a9}");
-    t!("\u{1e0b}\u{323}", "d\u{323}\u{307}");
-    t!("\u{1e0d}\u{307}", "d\u{323}\u{307}");
-    t!("a\u{301}", "a\u{301}");
-    t!("\u{301}a", "\u{301}a");
-    t!("\u{d4db}", "\u{1111}\u{1171}\u{11b6}");
-    t!("\u{ac1c}", "\u{1100}\u{1162}");
-}
-
-#[allow(deprecated)]
-#[test]
-fn test_nfc_chars() {
-    macro_rules! t {
-        ($input: expr, $expected: expr) => {
-            assert_eq!($input.nfc_chars().collect::<String>(), $expected);
-        }
-    }
-    t!("abc", "abc");
-    t!("\u{1e0b}\u{1c4}", "\u{1e0b}\u{1c4}");
-    t!("\u{2026}", "\u{2026}");
-    t!("\u{2126}", "\u{3a9}");
-    t!("\u{1e0b}\u{323}", "\u{1e0d}\u{307}");
-    t!("\u{1e0d}\u{307}", "\u{1e0d}\u{307}");
-    t!("a\u{301}", "\u{e1}");
-    t!("\u{301}a", "\u{301}a");
-    t!("\u{d4db}", "\u{d4db}");
-    t!("\u{ac1c}", "\u{ac1c}");
-    t!("a\u{300}\u{305}\u{315}\u{5ae}b", "\u{e0}\u{5ae}\u{305}\u{315}b");
-}
-
-#[allow(deprecated)]
-#[test]
-fn test_nfkc_chars() {
-    macro_rules! t {
-        ($input: expr, $expected: expr) => {
-            assert_eq!($input.nfkc_chars().collect::<String>(), $expected);
-        }
-    }
-    t!("abc", "abc");
-    t!("\u{1e0b}\u{1c4}", "\u{1e0b}D\u{17d}");
-    t!("\u{2026}", "...");
-    t!("\u{2126}", "\u{3a9}");
-    t!("\u{1e0b}\u{323}", "\u{1e0d}\u{307}");
-    t!("\u{1e0d}\u{307}", "\u{1e0d}\u{307}");
-    t!("a\u{301}", "\u{e1}");
-    t!("\u{301}a", "\u{301}a");
-    t!("\u{d4db}", "\u{d4db}");
-    t!("\u{ac1c}", "\u{ac1c}");
-    t!("a\u{300}\u{305}\u{315}\u{5ae}b", "\u{e0}\u{5ae}\u{305}\u{315}b");
-}
-
 #[test]
 fn test_lines() {
     let data = "\nMäry häd ä little lämb\n\nLittle lämb\n";
@@ -1070,417 +922,6 @@ fn test_lines() {
     assert_eq!(lines, ["", "Märy häd ä little lämb", "", "Little lämb"]);
 }
 
-#[allow(deprecated)]
-#[test]
-fn test_graphemes() {
-    use std::iter::order;
-
-    // official Unicode test data
-    // from http://www.unicode.org/Public/UCD/latest/ucd/auxiliary/GraphemeBreakTest.txt
-    let test_same: [(_, &[_]); 325] = [
-        ("\u{20}\u{20}", &["\u{20}", "\u{20}"]),
-        ("\u{20}\u{308}\u{20}", &["\u{20}\u{308}", "\u{20}"]),
-        ("\u{20}\u{D}", &["\u{20}", "\u{D}"]),
-        ("\u{20}\u{308}\u{D}", &["\u{20}\u{308}", "\u{D}"]),
-        ("\u{20}\u{A}", &["\u{20}", "\u{A}"]),
-        ("\u{20}\u{308}\u{A}", &["\u{20}\u{308}", "\u{A}"]),
-        ("\u{20}\u{1}", &["\u{20}", "\u{1}"]),
-        ("\u{20}\u{308}\u{1}", &["\u{20}\u{308}", "\u{1}"]),
-        ("\u{20}\u{300}", &["\u{20}\u{300}"]),
-        ("\u{20}\u{308}\u{300}", &["\u{20}\u{308}\u{300}"]),
-        ("\u{20}\u{1100}", &["\u{20}", "\u{1100}"]),
-        ("\u{20}\u{308}\u{1100}", &["\u{20}\u{308}", "\u{1100}"]),
-        ("\u{20}\u{1160}", &["\u{20}", "\u{1160}"]),
-        ("\u{20}\u{308}\u{1160}", &["\u{20}\u{308}", "\u{1160}"]),
-        ("\u{20}\u{11A8}", &["\u{20}", "\u{11A8}"]),
-        ("\u{20}\u{308}\u{11A8}", &["\u{20}\u{308}", "\u{11A8}"]),
-        ("\u{20}\u{AC00}", &["\u{20}", "\u{AC00}"]),
-        ("\u{20}\u{308}\u{AC00}", &["\u{20}\u{308}", "\u{AC00}"]),
-        ("\u{20}\u{AC01}", &["\u{20}", "\u{AC01}"]),
-        ("\u{20}\u{308}\u{AC01}", &["\u{20}\u{308}", "\u{AC01}"]),
-        ("\u{20}\u{1F1E6}", &["\u{20}", "\u{1F1E6}"]),
-        ("\u{20}\u{308}\u{1F1E6}", &["\u{20}\u{308}", "\u{1F1E6}"]),
-        ("\u{20}\u{378}", &["\u{20}", "\u{378}"]),
-        ("\u{20}\u{308}\u{378}", &["\u{20}\u{308}", "\u{378}"]),
-        ("\u{D}\u{20}", &["\u{D}", "\u{20}"]),
-        ("\u{D}\u{308}\u{20}", &["\u{D}", "\u{308}", "\u{20}"]),
-        ("\u{D}\u{D}", &["\u{D}", "\u{D}"]),
-        ("\u{D}\u{308}\u{D}", &["\u{D}", "\u{308}", "\u{D}"]),
-        ("\u{D}\u{A}", &["\u{D}\u{A}"]),
-        ("\u{D}\u{308}\u{A}", &["\u{D}", "\u{308}", "\u{A}"]),
-        ("\u{D}\u{1}", &["\u{D}", "\u{1}"]),
-        ("\u{D}\u{308}\u{1}", &["\u{D}", "\u{308}", "\u{1}"]),
-        ("\u{D}\u{300}", &["\u{D}", "\u{300}"]),
-        ("\u{D}\u{308}\u{300}", &["\u{D}", "\u{308}\u{300}"]),
-        ("\u{D}\u{903}", &["\u{D}", "\u{903}"]),
-        ("\u{D}\u{1100}", &["\u{D}", "\u{1100}"]),
-        ("\u{D}\u{308}\u{1100}", &["\u{D}", "\u{308}", "\u{1100}"]),
-        ("\u{D}\u{1160}", &["\u{D}", "\u{1160}"]),
-        ("\u{D}\u{308}\u{1160}", &["\u{D}", "\u{308}", "\u{1160}"]),
-        ("\u{D}\u{11A8}", &["\u{D}", "\u{11A8}"]),
-        ("\u{D}\u{308}\u{11A8}", &["\u{D}", "\u{308}", "\u{11A8}"]),
-        ("\u{D}\u{AC00}", &["\u{D}", "\u{AC00}"]),
-        ("\u{D}\u{308}\u{AC00}", &["\u{D}", "\u{308}", "\u{AC00}"]),
-        ("\u{D}\u{AC01}", &["\u{D}", "\u{AC01}"]),
-        ("\u{D}\u{308}\u{AC01}", &["\u{D}", "\u{308}", "\u{AC01}"]),
-        ("\u{D}\u{1F1E6}", &["\u{D}", "\u{1F1E6}"]),
-        ("\u{D}\u{308}\u{1F1E6}", &["\u{D}", "\u{308}", "\u{1F1E6}"]),
-        ("\u{D}\u{378}", &["\u{D}", "\u{378}"]),
-        ("\u{D}\u{308}\u{378}", &["\u{D}", "\u{308}", "\u{378}"]),
-        ("\u{A}\u{20}", &["\u{A}", "\u{20}"]),
-        ("\u{A}\u{308}\u{20}", &["\u{A}", "\u{308}", "\u{20}"]),
-        ("\u{A}\u{D}", &["\u{A}", "\u{D}"]),
-        ("\u{A}\u{308}\u{D}", &["\u{A}", "\u{308}", "\u{D}"]),
-        ("\u{A}\u{A}", &["\u{A}", "\u{A}"]),
-        ("\u{A}\u{308}\u{A}", &["\u{A}", "\u{308}", "\u{A}"]),
-        ("\u{A}\u{1}", &["\u{A}", "\u{1}"]),
-        ("\u{A}\u{308}\u{1}", &["\u{A}", "\u{308}", "\u{1}"]),
-        ("\u{A}\u{300}", &["\u{A}", "\u{300}"]),
-        ("\u{A}\u{308}\u{300}", &["\u{A}", "\u{308}\u{300}"]),
-        ("\u{A}\u{903}", &["\u{A}", "\u{903}"]),
-        ("\u{A}\u{1100}", &["\u{A}", "\u{1100}"]),
-        ("\u{A}\u{308}\u{1100}", &["\u{A}", "\u{308}", "\u{1100}"]),
-        ("\u{A}\u{1160}", &["\u{A}", "\u{1160}"]),
-        ("\u{A}\u{308}\u{1160}", &["\u{A}", "\u{308}", "\u{1160}"]),
-        ("\u{A}\u{11A8}", &["\u{A}", "\u{11A8}"]),
-        ("\u{A}\u{308}\u{11A8}", &["\u{A}", "\u{308}", "\u{11A8}"]),
-        ("\u{A}\u{AC00}", &["\u{A}", "\u{AC00}"]),
-        ("\u{A}\u{308}\u{AC00}", &["\u{A}", "\u{308}", "\u{AC00}"]),
-        ("\u{A}\u{AC01}", &["\u{A}", "\u{AC01}"]),
-        ("\u{A}\u{308}\u{AC01}", &["\u{A}", "\u{308}", "\u{AC01}"]),
-        ("\u{A}\u{1F1E6}", &["\u{A}", "\u{1F1E6}"]),
-        ("\u{A}\u{308}\u{1F1E6}", &["\u{A}", "\u{308}", "\u{1F1E6}"]),
-        ("\u{A}\u{378}", &["\u{A}", "\u{378}"]),
-        ("\u{A}\u{308}\u{378}", &["\u{A}", "\u{308}", "\u{378}"]),
-        ("\u{1}\u{20}", &["\u{1}", "\u{20}"]),
-        ("\u{1}\u{308}\u{20}", &["\u{1}", "\u{308}", "\u{20}"]),
-        ("\u{1}\u{D}", &["\u{1}", "\u{D}"]),
-        ("\u{1}\u{308}\u{D}", &["\u{1}", "\u{308}", "\u{D}"]),
-        ("\u{1}\u{A}", &["\u{1}", "\u{A}"]),
-        ("\u{1}\u{308}\u{A}", &["\u{1}", "\u{308}", "\u{A}"]),
-        ("\u{1}\u{1}", &["\u{1}", "\u{1}"]),
-        ("\u{1}\u{308}\u{1}", &["\u{1}", "\u{308}", "\u{1}"]),
-        ("\u{1}\u{300}", &["\u{1}", "\u{300}"]),
-        ("\u{1}\u{308}\u{300}", &["\u{1}", "\u{308}\u{300}"]),
-        ("\u{1}\u{903}", &["\u{1}", "\u{903}"]),
-        ("\u{1}\u{1100}", &["\u{1}", "\u{1100}"]),
-        ("\u{1}\u{308}\u{1100}", &["\u{1}", "\u{308}", "\u{1100}"]),
-        ("\u{1}\u{1160}", &["\u{1}", "\u{1160}"]),
-        ("\u{1}\u{308}\u{1160}", &["\u{1}", "\u{308}", "\u{1160}"]),
-        ("\u{1}\u{11A8}", &["\u{1}", "\u{11A8}"]),
-        ("\u{1}\u{308}\u{11A8}", &["\u{1}", "\u{308}", "\u{11A8}"]),
-        ("\u{1}\u{AC00}", &["\u{1}", "\u{AC00}"]),
-        ("\u{1}\u{308}\u{AC00}", &["\u{1}", "\u{308}", "\u{AC00}"]),
-        ("\u{1}\u{AC01}", &["\u{1}", "\u{AC01}"]),
-        ("\u{1}\u{308}\u{AC01}", &["\u{1}", "\u{308}", "\u{AC01}"]),
-        ("\u{1}\u{1F1E6}", &["\u{1}", "\u{1F1E6}"]),
-        ("\u{1}\u{308}\u{1F1E6}", &["\u{1}", "\u{308}", "\u{1F1E6}"]),
-        ("\u{1}\u{378}", &["\u{1}", "\u{378}"]),
-        ("\u{1}\u{308}\u{378}", &["\u{1}", "\u{308}", "\u{378}"]),
-        ("\u{300}\u{20}", &["\u{300}", "\u{20}"]),
-        ("\u{300}\u{308}\u{20}", &["\u{300}\u{308}", "\u{20}"]),
-        ("\u{300}\u{D}", &["\u{300}", "\u{D}"]),
-        ("\u{300}\u{308}\u{D}", &["\u{300}\u{308}", "\u{D}"]),
-        ("\u{300}\u{A}", &["\u{300}", "\u{A}"]),
-        ("\u{300}\u{308}\u{A}", &["\u{300}\u{308}", "\u{A}"]),
-        ("\u{300}\u{1}", &["\u{300}", "\u{1}"]),
-        ("\u{300}\u{308}\u{1}", &["\u{300}\u{308}", "\u{1}"]),
-        ("\u{300}\u{300}", &["\u{300}\u{300}"]),
-        ("\u{300}\u{308}\u{300}", &["\u{300}\u{308}\u{300}"]),
-        ("\u{300}\u{1100}", &["\u{300}", "\u{1100}"]),
-        ("\u{300}\u{308}\u{1100}", &["\u{300}\u{308}", "\u{1100}"]),
-        ("\u{300}\u{1160}", &["\u{300}", "\u{1160}"]),
-        ("\u{300}\u{308}\u{1160}", &["\u{300}\u{308}", "\u{1160}"]),
-        ("\u{300}\u{11A8}", &["\u{300}", "\u{11A8}"]),
-        ("\u{300}\u{308}\u{11A8}", &["\u{300}\u{308}", "\u{11A8}"]),
-        ("\u{300}\u{AC00}", &["\u{300}", "\u{AC00}"]),
-        ("\u{300}\u{308}\u{AC00}", &["\u{300}\u{308}", "\u{AC00}"]),
-        ("\u{300}\u{AC01}", &["\u{300}", "\u{AC01}"]),
-        ("\u{300}\u{308}\u{AC01}", &["\u{300}\u{308}", "\u{AC01}"]),
-        ("\u{300}\u{1F1E6}", &["\u{300}", "\u{1F1E6}"]),
-        ("\u{300}\u{308}\u{1F1E6}", &["\u{300}\u{308}", "\u{1F1E6}"]),
-        ("\u{300}\u{378}", &["\u{300}", "\u{378}"]),
-        ("\u{300}\u{308}\u{378}", &["\u{300}\u{308}", "\u{378}"]),
-        ("\u{903}\u{20}", &["\u{903}", "\u{20}"]),
-        ("\u{903}\u{308}\u{20}", &["\u{903}\u{308}", "\u{20}"]),
-        ("\u{903}\u{D}", &["\u{903}", "\u{D}"]),
-        ("\u{903}\u{308}\u{D}", &["\u{903}\u{308}", "\u{D}"]),
-        ("\u{903}\u{A}", &["\u{903}", "\u{A}"]),
-        ("\u{903}\u{308}\u{A}", &["\u{903}\u{308}", "\u{A}"]),
-        ("\u{903}\u{1}", &["\u{903}", "\u{1}"]),
-        ("\u{903}\u{308}\u{1}", &["\u{903}\u{308}", "\u{1}"]),
-        ("\u{903}\u{300}", &["\u{903}\u{300}"]),
-        ("\u{903}\u{308}\u{300}", &["\u{903}\u{308}\u{300}"]),
-        ("\u{903}\u{1100}", &["\u{903}", "\u{1100}"]),
-        ("\u{903}\u{308}\u{1100}", &["\u{903}\u{308}", "\u{1100}"]),
-        ("\u{903}\u{1160}", &["\u{903}", "\u{1160}"]),
-        ("\u{903}\u{308}\u{1160}", &["\u{903}\u{308}", "\u{1160}"]),
-        ("\u{903}\u{11A8}", &["\u{903}", "\u{11A8}"]),
-        ("\u{903}\u{308}\u{11A8}", &["\u{903}\u{308}", "\u{11A8}"]),
-        ("\u{903}\u{AC00}", &["\u{903}", "\u{AC00}"]),
-        ("\u{903}\u{308}\u{AC00}", &["\u{903}\u{308}", "\u{AC00}"]),
-        ("\u{903}\u{AC01}", &["\u{903}", "\u{AC01}"]),
-        ("\u{903}\u{308}\u{AC01}", &["\u{903}\u{308}", "\u{AC01}"]),
-        ("\u{903}\u{1F1E6}", &["\u{903}", "\u{1F1E6}"]),
-        ("\u{903}\u{308}\u{1F1E6}", &["\u{903}\u{308}", "\u{1F1E6}"]),
-        ("\u{903}\u{378}", &["\u{903}", "\u{378}"]),
-        ("\u{903}\u{308}\u{378}", &["\u{903}\u{308}", "\u{378}"]),
-        ("\u{1100}\u{20}", &["\u{1100}", "\u{20}"]),
-        ("\u{1100}\u{308}\u{20}", &["\u{1100}\u{308}", "\u{20}"]),
-        ("\u{1100}\u{D}", &["\u{1100}", "\u{D}"]),
-        ("\u{1100}\u{308}\u{D}", &["\u{1100}\u{308}", "\u{D}"]),
-        ("\u{1100}\u{A}", &["\u{1100}", "\u{A}"]),
-        ("\u{1100}\u{308}\u{A}", &["\u{1100}\u{308}", "\u{A}"]),
-        ("\u{1100}\u{1}", &["\u{1100}", "\u{1}"]),
-        ("\u{1100}\u{308}\u{1}", &["\u{1100}\u{308}", "\u{1}"]),
-        ("\u{1100}\u{300}", &["\u{1100}\u{300}"]),
-        ("\u{1100}\u{308}\u{300}", &["\u{1100}\u{308}\u{300}"]),
-        ("\u{1100}\u{1100}", &["\u{1100}\u{1100}"]),
-        ("\u{1100}\u{308}\u{1100}", &["\u{1100}\u{308}", "\u{1100}"]),
-        ("\u{1100}\u{1160}", &["\u{1100}\u{1160}"]),
-        ("\u{1100}\u{308}\u{1160}", &["\u{1100}\u{308}", "\u{1160}"]),
-        ("\u{1100}\u{11A8}", &["\u{1100}", "\u{11A8}"]),
-        ("\u{1100}\u{308}\u{11A8}", &["\u{1100}\u{308}", "\u{11A8}"]),
-        ("\u{1100}\u{AC00}", &["\u{1100}\u{AC00}"]),
-        ("\u{1100}\u{308}\u{AC00}", &["\u{1100}\u{308}", "\u{AC00}"]),
-        ("\u{1100}\u{AC01}", &["\u{1100}\u{AC01}"]),
-        ("\u{1100}\u{308}\u{AC01}", &["\u{1100}\u{308}", "\u{AC01}"]),
-        ("\u{1100}\u{1F1E6}", &["\u{1100}", "\u{1F1E6}"]),
-        ("\u{1100}\u{308}\u{1F1E6}", &["\u{1100}\u{308}", "\u{1F1E6}"]),
-        ("\u{1100}\u{378}", &["\u{1100}", "\u{378}"]),
-        ("\u{1100}\u{308}\u{378}", &["\u{1100}\u{308}", "\u{378}"]),
-        ("\u{1160}\u{20}", &["\u{1160}", "\u{20}"]),
-        ("\u{1160}\u{308}\u{20}", &["\u{1160}\u{308}", "\u{20}"]),
-        ("\u{1160}\u{D}", &["\u{1160}", "\u{D}"]),
-        ("\u{1160}\u{308}\u{D}", &["\u{1160}\u{308}", "\u{D}"]),
-        ("\u{1160}\u{A}", &["\u{1160}", "\u{A}"]),
-        ("\u{1160}\u{308}\u{A}", &["\u{1160}\u{308}", "\u{A}"]),
-        ("\u{1160}\u{1}", &["\u{1160}", "\u{1}"]),
-        ("\u{1160}\u{308}\u{1}", &["\u{1160}\u{308}", "\u{1}"]),
-        ("\u{1160}\u{300}", &["\u{1160}\u{300}"]),
-        ("\u{1160}\u{308}\u{300}", &["\u{1160}\u{308}\u{300}"]),
-        ("\u{1160}\u{1100}", &["\u{1160}", "\u{1100}"]),
-        ("\u{1160}\u{308}\u{1100}", &["\u{1160}\u{308}", "\u{1100}"]),
-        ("\u{1160}\u{1160}", &["\u{1160}\u{1160}"]),
-        ("\u{1160}\u{308}\u{1160}", &["\u{1160}\u{308}", "\u{1160}"]),
-        ("\u{1160}\u{11A8}", &["\u{1160}\u{11A8}"]),
-        ("\u{1160}\u{308}\u{11A8}", &["\u{1160}\u{308}", "\u{11A8}"]),
-        ("\u{1160}\u{AC00}", &["\u{1160}", "\u{AC00}"]),
-        ("\u{1160}\u{308}\u{AC00}", &["\u{1160}\u{308}", "\u{AC00}"]),
-        ("\u{1160}\u{AC01}", &["\u{1160}", "\u{AC01}"]),
-        ("\u{1160}\u{308}\u{AC01}", &["\u{1160}\u{308}", "\u{AC01}"]),
-        ("\u{1160}\u{1F1E6}", &["\u{1160}", "\u{1F1E6}"]),
-        ("\u{1160}\u{308}\u{1F1E6}", &["\u{1160}\u{308}", "\u{1F1E6}"]),
-        ("\u{1160}\u{378}", &["\u{1160}", "\u{378}"]),
-        ("\u{1160}\u{308}\u{378}", &["\u{1160}\u{308}", "\u{378}"]),
-        ("\u{11A8}\u{20}", &["\u{11A8}", "\u{20}"]),
-        ("\u{11A8}\u{308}\u{20}", &["\u{11A8}\u{308}", "\u{20}"]),
-        ("\u{11A8}\u{D}", &["\u{11A8}", "\u{D}"]),
-        ("\u{11A8}\u{308}\u{D}", &["\u{11A8}\u{308}", "\u{D}"]),
-        ("\u{11A8}\u{A}", &["\u{11A8}", "\u{A}"]),
-        ("\u{11A8}\u{308}\u{A}", &["\u{11A8}\u{308}", "\u{A}"]),
-        ("\u{11A8}\u{1}", &["\u{11A8}", "\u{1}"]),
-        ("\u{11A8}\u{308}\u{1}", &["\u{11A8}\u{308}", "\u{1}"]),
-        ("\u{11A8}\u{300}", &["\u{11A8}\u{300}"]),
-        ("\u{11A8}\u{308}\u{300}", &["\u{11A8}\u{308}\u{300}"]),
-        ("\u{11A8}\u{1100}", &["\u{11A8}", "\u{1100}"]),
-        ("\u{11A8}\u{308}\u{1100}", &["\u{11A8}\u{308}", "\u{1100}"]),
-        ("\u{11A8}\u{1160}", &["\u{11A8}", "\u{1160}"]),
-        ("\u{11A8}\u{308}\u{1160}", &["\u{11A8}\u{308}", "\u{1160}"]),
-        ("\u{11A8}\u{11A8}", &["\u{11A8}\u{11A8}"]),
-        ("\u{11A8}\u{308}\u{11A8}", &["\u{11A8}\u{308}", "\u{11A8}"]),
-        ("\u{11A8}\u{AC00}", &["\u{11A8}", "\u{AC00}"]),
-        ("\u{11A8}\u{308}\u{AC00}", &["\u{11A8}\u{308}", "\u{AC00}"]),
-        ("\u{11A8}\u{AC01}", &["\u{11A8}", "\u{AC01}"]),
-        ("\u{11A8}\u{308}\u{AC01}", &["\u{11A8}\u{308}", "\u{AC01}"]),
-        ("\u{11A8}\u{1F1E6}", &["\u{11A8}", "\u{1F1E6}"]),
-        ("\u{11A8}\u{308}\u{1F1E6}", &["\u{11A8}\u{308}", "\u{1F1E6}"]),
-        ("\u{11A8}\u{378}", &["\u{11A8}", "\u{378}"]),
-        ("\u{11A8}\u{308}\u{378}", &["\u{11A8}\u{308}", "\u{378}"]),
-        ("\u{AC00}\u{20}", &["\u{AC00}", "\u{20}"]),
-        ("\u{AC00}\u{308}\u{20}", &["\u{AC00}\u{308}", "\u{20}"]),
-        ("\u{AC00}\u{D}", &["\u{AC00}", "\u{D}"]),
-        ("\u{AC00}\u{308}\u{D}", &["\u{AC00}\u{308}", "\u{D}"]),
-        ("\u{AC00}\u{A}", &["\u{AC00}", "\u{A}"]),
-        ("\u{AC00}\u{308}\u{A}", &["\u{AC00}\u{308}", "\u{A}"]),
-        ("\u{AC00}\u{1}", &["\u{AC00}", "\u{1}"]),
-        ("\u{AC00}\u{308}\u{1}", &["\u{AC00}\u{308}", "\u{1}"]),
-        ("\u{AC00}\u{300}", &["\u{AC00}\u{300}"]),
-        ("\u{AC00}\u{308}\u{300}", &["\u{AC00}\u{308}\u{300}"]),
-        ("\u{AC00}\u{1100}", &["\u{AC00}", "\u{1100}"]),
-        ("\u{AC00}\u{308}\u{1100}", &["\u{AC00}\u{308}", "\u{1100}"]),
-        ("\u{AC00}\u{1160}", &["\u{AC00}\u{1160}"]),
-        ("\u{AC00}\u{308}\u{1160}", &["\u{AC00}\u{308}", "\u{1160}"]),
-        ("\u{AC00}\u{11A8}", &["\u{AC00}\u{11A8}"]),
-        ("\u{AC00}\u{308}\u{11A8}", &["\u{AC00}\u{308}", "\u{11A8}"]),
-        ("\u{AC00}\u{AC00}", &["\u{AC00}", "\u{AC00}"]),
-        ("\u{AC00}\u{308}\u{AC00}", &["\u{AC00}\u{308}", "\u{AC00}"]),
-        ("\u{AC00}\u{AC01}", &["\u{AC00}", "\u{AC01}"]),
-        ("\u{AC00}\u{308}\u{AC01}", &["\u{AC00}\u{308}", "\u{AC01}"]),
-        ("\u{AC00}\u{1F1E6}", &["\u{AC00}", "\u{1F1E6}"]),
-        ("\u{AC00}\u{308}\u{1F1E6}", &["\u{AC00}\u{308}", "\u{1F1E6}"]),
-        ("\u{AC00}\u{378}", &["\u{AC00}", "\u{378}"]),
-        ("\u{AC00}\u{308}\u{378}", &["\u{AC00}\u{308}", "\u{378}"]),
-        ("\u{AC01}\u{20}", &["\u{AC01}", "\u{20}"]),
-        ("\u{AC01}\u{308}\u{20}", &["\u{AC01}\u{308}", "\u{20}"]),
-        ("\u{AC01}\u{D}", &["\u{AC01}", "\u{D}"]),
-        ("\u{AC01}\u{308}\u{D}", &["\u{AC01}\u{308}", "\u{D}"]),
-        ("\u{AC01}\u{A}", &["\u{AC01}", "\u{A}"]),
-        ("\u{AC01}\u{308}\u{A}", &["\u{AC01}\u{308}", "\u{A}"]),
-        ("\u{AC01}\u{1}", &["\u{AC01}", "\u{1}"]),
-        ("\u{AC01}\u{308}\u{1}", &["\u{AC01}\u{308}", "\u{1}"]),
-        ("\u{AC01}\u{300}", &["\u{AC01}\u{300}"]),
-        ("\u{AC01}\u{308}\u{300}", &["\u{AC01}\u{308}\u{300}"]),
-        ("\u{AC01}\u{1100}", &["\u{AC01}", "\u{1100}"]),
-        ("\u{AC01}\u{308}\u{1100}", &["\u{AC01}\u{308}", "\u{1100}"]),
-        ("\u{AC01}\u{1160}", &["\u{AC01}", "\u{1160}"]),
-        ("\u{AC01}\u{308}\u{1160}", &["\u{AC01}\u{308}", "\u{1160}"]),
-        ("\u{AC01}\u{11A8}", &["\u{AC01}\u{11A8}"]),
-        ("\u{AC01}\u{308}\u{11A8}", &["\u{AC01}\u{308}", "\u{11A8}"]),
-        ("\u{AC01}\u{AC00}", &["\u{AC01}", "\u{AC00}"]),
-        ("\u{AC01}\u{308}\u{AC00}", &["\u{AC01}\u{308}", "\u{AC00}"]),
-        ("\u{AC01}\u{AC01}", &["\u{AC01}", "\u{AC01}"]),
-        ("\u{AC01}\u{308}\u{AC01}", &["\u{AC01}\u{308}", "\u{AC01}"]),
-        ("\u{AC01}\u{1F1E6}", &["\u{AC01}", "\u{1F1E6}"]),
-        ("\u{AC01}\u{308}\u{1F1E6}", &["\u{AC01}\u{308}", "\u{1F1E6}"]),
-        ("\u{AC01}\u{378}", &["\u{AC01}", "\u{378}"]),
-        ("\u{AC01}\u{308}\u{378}", &["\u{AC01}\u{308}", "\u{378}"]),
-        ("\u{1F1E6}\u{20}", &["\u{1F1E6}", "\u{20}"]),
-        ("\u{1F1E6}\u{308}\u{20}", &["\u{1F1E6}\u{308}", "\u{20}"]),
-        ("\u{1F1E6}\u{D}", &["\u{1F1E6}", "\u{D}"]),
-        ("\u{1F1E6}\u{308}\u{D}", &["\u{1F1E6}\u{308}", "\u{D}"]),
-        ("\u{1F1E6}\u{A}", &["\u{1F1E6}", "\u{A}"]),
-        ("\u{1F1E6}\u{308}\u{A}", &["\u{1F1E6}\u{308}", "\u{A}"]),
-        ("\u{1F1E6}\u{1}", &["\u{1F1E6}", "\u{1}"]),
-        ("\u{1F1E6}\u{308}\u{1}", &["\u{1F1E6}\u{308}", "\u{1}"]),
-        ("\u{1F1E6}\u{300}", &["\u{1F1E6}\u{300}"]),
-        ("\u{1F1E6}\u{308}\u{300}", &["\u{1F1E6}\u{308}\u{300}"]),
-        ("\u{1F1E6}\u{1100}", &["\u{1F1E6}", "\u{1100}"]),
-        ("\u{1F1E6}\u{308}\u{1100}", &["\u{1F1E6}\u{308}", "\u{1100}"]),
-        ("\u{1F1E6}\u{1160}", &["\u{1F1E6}", "\u{1160}"]),
-        ("\u{1F1E6}\u{308}\u{1160}", &["\u{1F1E6}\u{308}", "\u{1160}"]),
-        ("\u{1F1E6}\u{11A8}", &["\u{1F1E6}", "\u{11A8}"]),
-        ("\u{1F1E6}\u{308}\u{11A8}", &["\u{1F1E6}\u{308}", "\u{11A8}"]),
-        ("\u{1F1E6}\u{AC00}", &["\u{1F1E6}", "\u{AC00}"]),
-        ("\u{1F1E6}\u{308}\u{AC00}", &["\u{1F1E6}\u{308}", "\u{AC00}"]),
-        ("\u{1F1E6}\u{AC01}", &["\u{1F1E6}", "\u{AC01}"]),
-        ("\u{1F1E6}\u{308}\u{AC01}", &["\u{1F1E6}\u{308}", "\u{AC01}"]),
-        ("\u{1F1E6}\u{1F1E6}", &["\u{1F1E6}\u{1F1E6}"]),
-        ("\u{1F1E6}\u{308}\u{1F1E6}", &["\u{1F1E6}\u{308}", "\u{1F1E6}"]),
-        ("\u{1F1E6}\u{378}", &["\u{1F1E6}", "\u{378}"]),
-        ("\u{1F1E6}\u{308}\u{378}", &["\u{1F1E6}\u{308}", "\u{378}"]),
-        ("\u{378}\u{20}", &["\u{378}", "\u{20}"]),
-        ("\u{378}\u{308}\u{20}", &["\u{378}\u{308}", "\u{20}"]),
-        ("\u{378}\u{D}", &["\u{378}", "\u{D}"]),
-        ("\u{378}\u{308}\u{D}", &["\u{378}\u{308}", "\u{D}"]),
-        ("\u{378}\u{A}", &["\u{378}", "\u{A}"]),
-        ("\u{378}\u{308}\u{A}", &["\u{378}\u{308}", "\u{A}"]),
-        ("\u{378}\u{1}", &["\u{378}", "\u{1}"]),
-        ("\u{378}\u{308}\u{1}", &["\u{378}\u{308}", "\u{1}"]),
-        ("\u{378}\u{300}", &["\u{378}\u{300}"]),
-        ("\u{378}\u{308}\u{300}", &["\u{378}\u{308}\u{300}"]),
-        ("\u{378}\u{1100}", &["\u{378}", "\u{1100}"]),
-        ("\u{378}\u{308}\u{1100}", &["\u{378}\u{308}", "\u{1100}"]),
-        ("\u{378}\u{1160}", &["\u{378}", "\u{1160}"]),
-        ("\u{378}\u{308}\u{1160}", &["\u{378}\u{308}", "\u{1160}"]),
-        ("\u{378}\u{11A8}", &["\u{378}", "\u{11A8}"]),
-        ("\u{378}\u{308}\u{11A8}", &["\u{378}\u{308}", "\u{11A8}"]),
-        ("\u{378}\u{AC00}", &["\u{378}", "\u{AC00}"]),
-        ("\u{378}\u{308}\u{AC00}", &["\u{378}\u{308}", "\u{AC00}"]),
-        ("\u{378}\u{AC01}", &["\u{378}", "\u{AC01}"]),
-        ("\u{378}\u{308}\u{AC01}", &["\u{378}\u{308}", "\u{AC01}"]),
-        ("\u{378}\u{1F1E6}", &["\u{378}", "\u{1F1E6}"]),
-        ("\u{378}\u{308}\u{1F1E6}", &["\u{378}\u{308}", "\u{1F1E6}"]),
-        ("\u{378}\u{378}", &["\u{378}", "\u{378}"]),
-        ("\u{378}\u{308}\u{378}", &["\u{378}\u{308}", "\u{378}"]),
-        ("\u{61}\u{1F1E6}\u{62}", &["\u{61}", "\u{1F1E6}", "\u{62}"]),
-        ("\u{1F1F7}\u{1F1FA}", &["\u{1F1F7}\u{1F1FA}"]),
-        ("\u{1F1F7}\u{1F1FA}\u{1F1F8}", &["\u{1F1F7}\u{1F1FA}\u{1F1F8}"]),
-        ("\u{1F1F7}\u{1F1FA}\u{1F1F8}\u{1F1EA}",
-        &["\u{1F1F7}\u{1F1FA}\u{1F1F8}\u{1F1EA}"]),
-        ("\u{1F1F7}\u{1F1FA}\u{200B}\u{1F1F8}\u{1F1EA}",
-         &["\u{1F1F7}\u{1F1FA}", "\u{200B}", "\u{1F1F8}\u{1F1EA}"]),
-        ("\u{1F1E6}\u{1F1E7}\u{1F1E8}", &["\u{1F1E6}\u{1F1E7}\u{1F1E8}"]),
-        ("\u{1F1E6}\u{200D}\u{1F1E7}\u{1F1E8}", &["\u{1F1E6}\u{200D}",
-         "\u{1F1E7}\u{1F1E8}"]),
-        ("\u{1F1E6}\u{1F1E7}\u{200D}\u{1F1E8}",
-         &["\u{1F1E6}\u{1F1E7}\u{200D}", "\u{1F1E8}"]),
-        ("\u{20}\u{200D}\u{646}", &["\u{20}\u{200D}", "\u{646}"]),
-        ("\u{646}\u{200D}\u{20}", &["\u{646}\u{200D}", "\u{20}"]),
-    ];
-
-    let test_diff: [(_, &[_], &[_]); 23] = [
-        ("\u{20}\u{903}", &["\u{20}\u{903}"], &["\u{20}", "\u{903}"]), ("\u{20}\u{308}\u{903}",
-        &["\u{20}\u{308}\u{903}"], &["\u{20}\u{308}", "\u{903}"]), ("\u{D}\u{308}\u{903}",
-        &["\u{D}", "\u{308}\u{903}"], &["\u{D}", "\u{308}", "\u{903}"]), ("\u{A}\u{308}\u{903}",
-        &["\u{A}", "\u{308}\u{903}"], &["\u{A}", "\u{308}", "\u{903}"]), ("\u{1}\u{308}\u{903}",
-        &["\u{1}", "\u{308}\u{903}"], &["\u{1}", "\u{308}", "\u{903}"]), ("\u{300}\u{903}",
-        &["\u{300}\u{903}"], &["\u{300}", "\u{903}"]), ("\u{300}\u{308}\u{903}",
-        &["\u{300}\u{308}\u{903}"], &["\u{300}\u{308}", "\u{903}"]), ("\u{903}\u{903}",
-        &["\u{903}\u{903}"], &["\u{903}", "\u{903}"]), ("\u{903}\u{308}\u{903}",
-        &["\u{903}\u{308}\u{903}"], &["\u{903}\u{308}", "\u{903}"]), ("\u{1100}\u{903}",
-        &["\u{1100}\u{903}"], &["\u{1100}", "\u{903}"]), ("\u{1100}\u{308}\u{903}",
-        &["\u{1100}\u{308}\u{903}"], &["\u{1100}\u{308}", "\u{903}"]), ("\u{1160}\u{903}",
-        &["\u{1160}\u{903}"], &["\u{1160}", "\u{903}"]), ("\u{1160}\u{308}\u{903}",
-        &["\u{1160}\u{308}\u{903}"], &["\u{1160}\u{308}", "\u{903}"]), ("\u{11A8}\u{903}",
-        &["\u{11A8}\u{903}"], &["\u{11A8}", "\u{903}"]), ("\u{11A8}\u{308}\u{903}",
-        &["\u{11A8}\u{308}\u{903}"], &["\u{11A8}\u{308}", "\u{903}"]), ("\u{AC00}\u{903}",
-        &["\u{AC00}\u{903}"], &["\u{AC00}", "\u{903}"]), ("\u{AC00}\u{308}\u{903}",
-        &["\u{AC00}\u{308}\u{903}"], &["\u{AC00}\u{308}", "\u{903}"]), ("\u{AC01}\u{903}",
-        &["\u{AC01}\u{903}"], &["\u{AC01}", "\u{903}"]), ("\u{AC01}\u{308}\u{903}",
-        &["\u{AC01}\u{308}\u{903}"], &["\u{AC01}\u{308}", "\u{903}"]), ("\u{1F1E6}\u{903}",
-        &["\u{1F1E6}\u{903}"], &["\u{1F1E6}", "\u{903}"]), ("\u{1F1E6}\u{308}\u{903}",
-        &["\u{1F1E6}\u{308}\u{903}"], &["\u{1F1E6}\u{308}", "\u{903}"]), ("\u{378}\u{903}",
-        &["\u{378}\u{903}"], &["\u{378}", "\u{903}"]), ("\u{378}\u{308}\u{903}",
-        &["\u{378}\u{308}\u{903}"], &["\u{378}\u{308}", "\u{903}"]),
-    ];
-
-    for &(s, g) in &test_same[..] {
-        // test forward iterator
-        assert!(order::equals(s.graphemes(true), g.iter().cloned()));
-        assert!(order::equals(s.graphemes(false), g.iter().cloned()));
-
-        // test reverse iterator
-        assert!(order::equals(s.graphemes(true).rev(), g.iter().rev().cloned()));
-        assert!(order::equals(s.graphemes(false).rev(), g.iter().rev().cloned()));
-    }
-
-    for &(s, gt, gf) in &test_diff {
-        // test forward iterator
-        assert!(order::equals(s.graphemes(true), gt.iter().cloned()));
-        assert!(order::equals(s.graphemes(false), gf.iter().cloned()));
-
-        // test reverse iterator
-        assert!(order::equals(s.graphemes(true).rev(), gt.iter().rev().cloned()));
-        assert!(order::equals(s.graphemes(false).rev(), gf.iter().rev().cloned()));
-    }
-
-    // test the indices iterators
-    let s = "a̐éö̲\r\n";
-    let gr_inds = s.grapheme_indices(true).collect::<Vec<(usize, &str)>>();
-    let b: &[_] = &[(0, "a̐"), (3, "é"), (6, "ö̲"), (11, "\r\n")];
-    assert_eq!(gr_inds, b);
-    let gr_inds = s.grapheme_indices(true).rev().collect::<Vec<(usize, &str)>>();
-    let b: &[_] = &[(11, "\r\n"), (6, "ö̲"), (3, "é"), (0, "a̐")];
-    assert_eq!(gr_inds, b);
-    let mut gr_inds_iter = s.grapheme_indices(true);
-    {
-        let gr_inds = gr_inds_iter.by_ref();
-        let e1 = gr_inds.size_hint();
-        assert_eq!(e1, (1, Some(13)));
-        let c = gr_inds.count();
-        assert_eq!(c, 4);
-    }
-    let e2 = gr_inds_iter.size_hint();
-    assert_eq!(e2, (0, Some(0)));
-
-    // make sure the reverse iterator does the right thing with "\n" at beginning of string
-    let s = "\n\r\n\r";
-    let gr = s.graphemes(true).rev().collect::<Vec<&str>>();
-    let b: &[_] = &["\r", "\r\n", "\n"];
-    assert_eq!(gr, b);
-}
-
 #[test]
 fn test_splitator() {
     fn t(s: &str, sep: &str, u: &[&str]) {