133873d2b41a5cd2597b20a4e88eb8942944c0f23Tyler Schultzpackage com.xtremelabs.robolectric.shadows;
23a15df058f1e3fd7fbff5c3b17126249f1ed909aChristian Williams & Ryan Richard
33a15df058f1e3fd7fbff5c3b17126249f1ed909aChristian Williams & Ryan Richardimport android.text.TextUtils;
407257335f88da163910cc0bd039e6163edc38580Gregg Van Hove & Phil Goodwinimport com.xtremelabs.robolectric.WithTestDefaultsRunner;
583003bbf38ccf4556ccc09ed9ce97c7725d58623Jan Berkelimport java.util.Arrays;
6d928e52bac8898c3058cb0a7cce7d1ac9eb94c3bJessica Chen
73a15df058f1e3fd7fbff5c3b17126249f1ed909aChristian Williams & Ryan Richardimport org.junit.Test;
83a15df058f1e3fd7fbff5c3b17126249f1ed909aChristian Williams & Ryan Richardimport org.junit.runner.RunWith;
93a15df058f1e3fd7fbff5c3b17126249f1ed909aChristian Williams & Ryan Richard
10d928e52bac8898c3058cb0a7cce7d1ac9eb94c3bJessica Chenimport static org.hamcrest.CoreMatchers.*;
11d928e52bac8898c3058cb0a7cce7d1ac9eb94c3bJessica Chenimport static org.junit.Assert.*;
123a15df058f1e3fd7fbff5c3b17126249f1ed909aChristian Williams & Ryan Richard
1307257335f88da163910cc0bd039e6163edc38580Gregg Van Hove & Phil Goodwin@RunWith(WithTestDefaultsRunner.class)
143a15df058f1e3fd7fbff5c3b17126249f1ed909aChristian Williams & Ryan Richardpublic class TextUtilsTest {
153a15df058f1e3fd7fbff5c3b17126249f1ed909aChristian Williams & Ryan Richard    @Test
163a15df058f1e3fd7fbff5c3b17126249f1ed909aChristian Williams & Ryan Richard    public void testExpandTemplate() throws Exception {
173a15df058f1e3fd7fbff5c3b17126249f1ed909aChristian Williams & Ryan Richard        assertThat(
18adfaceabbda4c8c51f24a0def8926075bd7306adChristian Williams                (String) TextUtils.expandTemplate("a^1b^2c^3d", "A", "B", "C", "D"),
193a15df058f1e3fd7fbff5c3b17126249f1ed909aChristian Williams & Ryan Richard                equalTo("aAbBcCd"));
203a15df058f1e3fd7fbff5c3b17126249f1ed909aChristian Williams & Ryan Richard    }
21ea41c3b5f5a7a6a82eb2e987dfe61e9a5216d58aJan Berkel
22ea41c3b5f5a7a6a82eb2e987dfe61e9a5216d58aJan Berkel    @Test
23ea41c3b5f5a7a6a82eb2e987dfe61e9a5216d58aJan Berkel    public void testIsEmpty() throws Exception {
24ea41c3b5f5a7a6a82eb2e987dfe61e9a5216d58aJan Berkel        assertThat(TextUtils.isEmpty(null), equalTo(true));
25ea41c3b5f5a7a6a82eb2e987dfe61e9a5216d58aJan Berkel        assertThat(TextUtils.isEmpty(""), equalTo(true));
26ea41c3b5f5a7a6a82eb2e987dfe61e9a5216d58aJan Berkel        assertThat(TextUtils.isEmpty(" "), equalTo(false));
27ea41c3b5f5a7a6a82eb2e987dfe61e9a5216d58aJan Berkel        assertThat(TextUtils.isEmpty("123"), equalTo(false));
28ea41c3b5f5a7a6a82eb2e987dfe61e9a5216d58aJan Berkel    }
2983003bbf38ccf4556ccc09ed9ce97c7725d58623Jan Berkel
3083003bbf38ccf4556ccc09ed9ce97c7725d58623Jan Berkel    @Test public void testJoin() {
3183003bbf38ccf4556ccc09ed9ce97c7725d58623Jan Berkel      assertThat(TextUtils.join(",", new String[] { "1" }), equalTo("1"));
3283003bbf38ccf4556ccc09ed9ce97c7725d58623Jan Berkel      assertThat(TextUtils.join(",", new String[] { "1", "2", "3" }), equalTo("1,2,3"));
3383003bbf38ccf4556ccc09ed9ce97c7725d58623Jan Berkel      assertThat(TextUtils.join(",", Arrays.asList("1", "2", "3")), equalTo("1,2,3"));
3483003bbf38ccf4556ccc09ed9ce97c7725d58623Jan Berkel    }
35a16489f7f239bf6974e4f5607bb071670ae02245Jon Boekenoogen
36a16489f7f239bf6974e4f5607bb071670ae02245Jon Boekenoogen    @Test
37a16489f7f239bf6974e4f5607bb071670ae02245Jon Boekenoogen    public void testIsDigitsOnly() throws Exception {
38a16489f7f239bf6974e4f5607bb071670ae02245Jon Boekenoogen        assertThat(TextUtils.isDigitsOnly("123456"), equalTo(true));
39a16489f7f239bf6974e4f5607bb071670ae02245Jon Boekenoogen        assertThat(TextUtils.isDigitsOnly("124a56"), equalTo(false));
40a16489f7f239bf6974e4f5607bb071670ae02245Jon Boekenoogen    }
41b94e22bd3dae3749629c3d9e14bf52bfb7ce78a1Jon Boekenoogen
42b94e22bd3dae3749629c3d9e14bf52bfb7ce78a1Jon Boekenoogen    @Test
43b94e22bd3dae3749629c3d9e14bf52bfb7ce78a1Jon Boekenoogen    public void testGetTrimmedLength() {
44b94e22bd3dae3749629c3d9e14bf52bfb7ce78a1Jon Boekenoogen        assertThat(TextUtils.getTrimmedLength("123456"), equalTo(6));
45b94e22bd3dae3749629c3d9e14bf52bfb7ce78a1Jon Boekenoogen        assertThat(TextUtils.getTrimmedLength(" \n \t 123456"), equalTo(6));
46b94e22bd3dae3749629c3d9e14bf52bfb7ce78a1Jon Boekenoogen        assertThat(TextUtils.getTrimmedLength("123456  \n \t "), equalTo(6));
47b94e22bd3dae3749629c3d9e14bf52bfb7ce78a1Jon Boekenoogen        assertThat(TextUtils.getTrimmedLength(" \n \t  123456  \n \t "), equalTo(6));
48b94e22bd3dae3749629c3d9e14bf52bfb7ce78a1Jon Boekenoogen        assertThat(TextUtils.getTrimmedLength(" \n \t  \n \t "), equalTo(0));
49b94e22bd3dae3749629c3d9e14bf52bfb7ce78a1Jon Boekenoogen    }
50d928e52bac8898c3058cb0a7cce7d1ac9eb94c3bJessica Chen
51d928e52bac8898c3058cb0a7cce7d1ac9eb94c3bJessica Chen    @Test
52d928e52bac8898c3058cb0a7cce7d1ac9eb94c3bJessica Chen    public void testSplit() {
53d928e52bac8898c3058cb0a7cce7d1ac9eb94c3bJessica Chen    	//empty
54d928e52bac8898c3058cb0a7cce7d1ac9eb94c3bJessica Chen    	assertThat(TextUtils.split("", ",").length, equalTo(0));
55d928e52bac8898c3058cb0a7cce7d1ac9eb94c3bJessica Chen
56d928e52bac8898c3058cb0a7cce7d1ac9eb94c3bJessica Chen    	//one value
57d928e52bac8898c3058cb0a7cce7d1ac9eb94c3bJessica Chen    	assertArrayEquals(TextUtils.split("abc", ","), new String[]{"abc"});
58d928e52bac8898c3058cb0a7cce7d1ac9eb94c3bJessica Chen
59d928e52bac8898c3058cb0a7cce7d1ac9eb94c3bJessica Chen    	//two values
60d928e52bac8898c3058cb0a7cce7d1ac9eb94c3bJessica Chen    	assertArrayEquals(TextUtils.split("abc,def", ","), new String[]{"abc", "def"});
61d928e52bac8898c3058cb0a7cce7d1ac9eb94c3bJessica Chen
62d928e52bac8898c3058cb0a7cce7d1ac9eb94c3bJessica Chen    	//two values with space
63d928e52bac8898c3058cb0a7cce7d1ac9eb94c3bJessica Chen    	assertArrayEquals(TextUtils.split("abc, def", ","), new String[]{"abc", " def"});
64d928e52bac8898c3058cb0a7cce7d1ac9eb94c3bJessica Chen   }
653a15df058f1e3fd7fbff5c3b17126249f1ed909aChristian Williams & Ryan Richard}
66