1package com.xtremelabs.robolectric.shadows;
2
3import android.text.TextUtils;
4import com.xtremelabs.robolectric.WithTestDefaultsRunner;
5import java.util.Arrays;
6
7import org.junit.Test;
8import org.junit.runner.RunWith;
9
10import static org.hamcrest.CoreMatchers.*;
11import static org.junit.Assert.*;
12
13@RunWith(WithTestDefaultsRunner.class)
14public class TextUtilsTest {
15    @Test
16    public void testExpandTemplate() throws Exception {
17        assertThat(
18                (String) TextUtils.expandTemplate("a^1b^2c^3d", "A", "B", "C", "D"),
19                equalTo("aAbBcCd"));
20    }
21
22    @Test
23    public void testIsEmpty() throws Exception {
24        assertThat(TextUtils.isEmpty(null), equalTo(true));
25        assertThat(TextUtils.isEmpty(""), equalTo(true));
26        assertThat(TextUtils.isEmpty(" "), equalTo(false));
27        assertThat(TextUtils.isEmpty("123"), equalTo(false));
28    }
29
30    @Test public void testJoin() {
31      assertThat(TextUtils.join(",", new String[] { "1" }), equalTo("1"));
32      assertThat(TextUtils.join(",", new String[] { "1", "2", "3" }), equalTo("1,2,3"));
33      assertThat(TextUtils.join(",", Arrays.asList("1", "2", "3")), equalTo("1,2,3"));
34    }
35
36    @Test
37    public void testIsDigitsOnly() throws Exception {
38        assertThat(TextUtils.isDigitsOnly("123456"), equalTo(true));
39        assertThat(TextUtils.isDigitsOnly("124a56"), equalTo(false));
40    }
41
42    @Test
43    public void testGetTrimmedLength() {
44        assertThat(TextUtils.getTrimmedLength("123456"), equalTo(6));
45        assertThat(TextUtils.getTrimmedLength(" \n \t 123456"), equalTo(6));
46        assertThat(TextUtils.getTrimmedLength("123456  \n \t "), equalTo(6));
47        assertThat(TextUtils.getTrimmedLength(" \n \t  123456  \n \t "), equalTo(6));
48        assertThat(TextUtils.getTrimmedLength(" \n \t  \n \t "), equalTo(0));
49    }
50
51    @Test
52    public void testSplit() {
53    	//empty
54    	assertThat(TextUtils.split("", ",").length, equalTo(0));
55
56    	//one value
57    	assertArrayEquals(TextUtils.split("abc", ","), new String[]{"abc"});
58
59    	//two values
60    	assertArrayEquals(TextUtils.split("abc,def", ","), new String[]{"abc", "def"});
61
62    	//two values with space
63    	assertArrayEquals(TextUtils.split("abc, def", ","), new String[]{"abc", " def"});
64   }
65}
66