1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpackage org.apache.harmony.regex.tests.java.util.regex; 2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport junit.framework.TestCase; 4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.regex.*; 5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * TODO Type description 8f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 10adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic class SplitTest extends TestCase { 11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testSimple() { 12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Pattern p = Pattern.compile("/"); 13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String[] results = p.split("have/you/done/it/right"); 14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String[] expected = new String[] { "have", "you", "done", "it", "right" }; 1551809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes assertArraysEqual(expected, results); 1651809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes } 1751809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes 1851809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes public void testEmptySplits() { 1951809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes // Trailing empty matches are removed. 2051809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes assertArraysEqual(new String[0], "hello".split(".")); 2151809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes assertArraysEqual(new String[] { "1", "2" }, "1:2:".split(":")); 2251809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes // ...including when that results in an empty result. 2351809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes assertArraysEqual(new String[0], ":".split(":")); 2451809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes // ...but not when limit < 0. 2551809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes assertArraysEqual(new String[] { "1", "2", "" }, "1:2:".split(":", -1)); 26f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 2751809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes // Leading empty matches are retained. 2851809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes assertArraysEqual(new String[] { "", "", "o" }, "hello".split("..")); 29f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 3051809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes // A separator that doesn't occur in the input gets you the input. 3151809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes assertArraysEqual(new String[] { "hello" }, "hello".split("not-present-in-test")); 3251809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes // ...including when the input is the empty string. 3351809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes // (Perl returns an empty list instead.) 3451809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes assertArraysEqual(new String[] { "" }, "".split("not-present-in-test")); 3551809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes assertArraysEqual(new String[] { "" }, "".split("A?")); 36f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 3751809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes // The limit argument controls the size of the result. 3851809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes // If l == 0, the result is as long as needed, except trailing empty matches are dropped. 3951809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes // If l < 0, the result is as long as needed, and trailing empty matches are retained. 4051809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes // If l > 0, the result contains the first l matches, plus one string containing the remaining input. 4151809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes // Examples without a trailing separator (and hence without a trailing empty match): 4251809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes assertArraysEqual(new String[] { "a", "b", "c" }, "a,b,c".split(",", 0)); 4351809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes assertArraysEqual(new String[] { "a,b,c" }, "a,b,c".split(",", 1)); 4451809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes assertArraysEqual(new String[] { "a", "b,c" }, "a,b,c".split(",", 2)); 4551809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes assertArraysEqual(new String[] { "a", "b", "c" }, "a,b,c".split(",", 3)); 4651809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes assertArraysEqual(new String[] { "a", "b", "c" }, "a,b,c".split(",", Integer.MAX_VALUE)); 4751809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes // Examples with a trailing separator (and hence possibly with a trailing empty match): 4851809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes assertArraysEqual(new String[] { "a", "b", "c" }, "a,b,c,".split(",", 0)); 4951809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes assertArraysEqual(new String[] { "a,b,c," }, "a,b,c,".split(",", 1)); 5051809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes assertArraysEqual(new String[] { "a", "b,c," }, "a,b,c,".split(",", 2)); 5151809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes assertArraysEqual(new String[] { "a", "b", "c," }, "a,b,c,".split(",", 3)); 5251809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes assertArraysEqual(new String[] { "a", "b", "c", "" }, "a,b,c,".split(",", Integer.MAX_VALUE)); 5351809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes assertArraysEqual(new String[] { "a", "b", "c", "" }, "a,b,c,".split(",", -1)); 5451809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes } 55f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 5651809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes private void assertArraysEqual(String[] expected, String[] actual) { 5751809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes assertEquals(expected.length, actual.length); 58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < expected.length; i++) { 5951809b9c7995d8b813f68712b096d23179de3af0Elliott Hughes assertEquals(Integer.toString(i), expected[i], actual[i]); 60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 62f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testSplit1() throws PatternSyntaxException { 64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Pattern p = Pattern.compile(" "); 65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String input = "poodle zoo"; 67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String tokens[]; 68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tokens = p.split(input, 1); 70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(1, tokens.length); 71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(tokens[0].equals(input)); 72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tokens = p.split(input, 2); 73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(2, tokens.length); 74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("poodle", tokens[0]); 75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("zoo", tokens[1]); 76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tokens = p.split(input, 5); 77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(2, tokens.length); 78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("poodle", tokens[0]); 79adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("zoo", tokens[1]); 80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tokens = p.split(input, -2); 81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(2, tokens.length); 82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("poodle", tokens[0]); 83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("zoo", tokens[1]); 84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tokens = p.split(input, 0); 85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(2, tokens.length); 86adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("poodle", tokens[0]); 87adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("zoo", tokens[1]); 88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tokens = p.split(input); 89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(2, tokens.length); 90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("poodle", tokens[0]); 91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("zoo", tokens[1]); 92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project p = Pattern.compile("d"); 94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tokens = p.split(input, 1); 96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(1, tokens.length); 97adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(tokens[0].equals(input)); 98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tokens = p.split(input, 2); 99adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(2, tokens.length); 100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("poo", tokens[0]); 101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("le zoo", tokens[1]); 102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tokens = p.split(input, 5); 103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(2, tokens.length); 104adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("poo", tokens[0]); 105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("le zoo", tokens[1]); 106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tokens = p.split(input, -2); 107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(2, tokens.length); 108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("poo", tokens[0]); 109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("le zoo", tokens[1]); 110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tokens = p.split(input, 0); 111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(2, tokens.length); 112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("poo", tokens[0]); 113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("le zoo", tokens[1]); 114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tokens = p.split(input); 115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(2, tokens.length); 116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("poo", tokens[0]); 117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("le zoo", tokens[1]); 118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project p = Pattern.compile("o"); 120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tokens = p.split(input, 1); 122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(1, tokens.length); 123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(tokens[0].equals(input)); 124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tokens = p.split(input, 2); 125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(2, tokens.length); 126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("p", tokens[0]); 127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("odle zoo", tokens[1]); 128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tokens = p.split(input, 5); 129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(5, tokens.length); 130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("p", tokens[0]); 131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(tokens[1].equals("")); 132adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("dle z", tokens[2]); 133adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(tokens[3].equals("")); 134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(tokens[4].equals("")); 135adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tokens = p.split(input, -2); 136adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(5, tokens.length); 137adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("p", tokens[0]); 138adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(tokens[1].equals("")); 139adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("dle z", tokens[2]); 140adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(tokens[3].equals("")); 141adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(tokens[4].equals("")); 142adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tokens = p.split(input, 0); 143adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(3, tokens.length); 144adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("p", tokens[0]); 145adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(tokens[1].equals("")); 146adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("dle z", tokens[2]); 147adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tokens = p.split(input); 148adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(3, tokens.length); 149adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("p", tokens[0]); 150adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(tokens[1].equals("")); 151adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("dle z", tokens[2]); 152adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 153adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 154adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testSplit2() { 155adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Pattern p = Pattern.compile(""); 156adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String s[]; 157adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project s = p.split("a", -1); 158adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(3, s.length); 159adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("", s[0]); 160adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("a", s[1]); 161adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("", s[2]); 162adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 163adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project s = p.split("", -1); 164adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(1, s.length); 165adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("", s[0]); 166adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 167adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project s = p.split("abcd", -1); 168adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(6, s.length); 169adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("", s[0]); 170adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("a", s[1]); 171adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("b", s[2]); 172adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("c", s[3]); 173adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("d", s[4]); 174adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("", s[5]); 175f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 176adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Regression test for Android 177adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("GOOG,23,500".split("|").length, 12); 178adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 179adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 180adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 181adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testSplitSupplementaryWithEmptyString() { 182f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 183adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /* 184adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * See http://www.unicode.org/reports/tr18/#Supplementary_Characters 185adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * We have to treat text as code points not code units. 186adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 187adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Pattern p = Pattern.compile(""); 188adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String s[]; 189adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project s = p.split("a\ud869\uded6b", -1); 190adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(5, s.length); 191adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("", s[0]); 192adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("a", s[1]); 193adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("\ud869\uded6", s[2]); 194f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("b", s[3]); 195f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("", s[4]); 196adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 197adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} 198