• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package org.robolectric.shadows;
2 
3 import static com.google.common.truth.Truth.assertThat;
4 import static org.junit.Assert.assertArrayEquals;
5 
6 import android.text.TextPaint;
7 import android.text.TextUtils;
8 import androidx.test.ext.junit.runners.AndroidJUnit4;
9 import java.util.Arrays;
10 import org.junit.Test;
11 import org.junit.runner.RunWith;
12 
13 @RunWith(AndroidJUnit4.class)
14 public class ShadowTextUtilsTest {
15   @Test
testExpandTemplate()16   public void testExpandTemplate() throws Exception {
17     assertThat(TextUtils.expandTemplate("a^1b^2c^3d", "A", "B", "C", "D").toString()).isEqualTo("aAbBcCd");
18   }
19 
20   @Test
testIsEmpty()21   public void testIsEmpty() throws Exception {
22     assertThat(TextUtils.isEmpty(null)).isTrue();
23     assertThat(TextUtils.isEmpty("")).isTrue();
24     assertThat(TextUtils.isEmpty(" ")).isFalse();
25     assertThat(TextUtils.isEmpty("123")).isFalse();
26   }
27 
testJoin()28   @Test public void testJoin() {
29     assertThat(TextUtils.join(",", new String[]{"1"})).isEqualTo("1");
30     assertThat(TextUtils.join(",", new String[]{"1", "2", "3"})).isEqualTo("1,2,3");
31     assertThat(TextUtils.join(",", Arrays.asList("1", "2", "3"))).isEqualTo("1,2,3");
32   }
33 
34   @Test
testIsDigitsOnly()35   public void testIsDigitsOnly() throws Exception {
36     assertThat(TextUtils.isDigitsOnly("123456")).isTrue();
37     assertThat(TextUtils.isDigitsOnly("124a56")).isFalse();
38   }
39 
40   @Test
testSplit()41   public void testSplit() {
42     //empty
43     assertThat(TextUtils.split("", ",").length).isEqualTo(0);
44 
45     //one value
46     assertArrayEquals(TextUtils.split("abc", ","), new String[]{"abc"});
47 
48     //two values
49     assertArrayEquals(TextUtils.split("abc,def", ","), new String[]{"abc", "def"});
50 
51     //two values with space
52     assertArrayEquals(TextUtils.split("abc, def", ","), new String[]{"abc", " def"});
53   }
54 
55   @Test
testEquals()56   public void testEquals() {
57     assertThat(TextUtils.equals(null, null)).isTrue();
58     assertThat(TextUtils.equals("", "")).isTrue();
59     assertThat(TextUtils.equals("a", "a")).isTrue();
60     assertThat(TextUtils.equals("ab", "ab")).isTrue();
61 
62     assertThat(TextUtils.equals(null, "")).isFalse();
63     assertThat(TextUtils.equals("", null)).isFalse();
64 
65     assertThat(TextUtils.equals(null, "a")).isFalse();
66     assertThat(TextUtils.equals("a", null)).isFalse();
67 
68     assertThat(TextUtils.equals(null, "ab")).isFalse();
69     assertThat(TextUtils.equals("ab", null)).isFalse();
70 
71     assertThat(TextUtils.equals("", "a")).isFalse();
72     assertThat(TextUtils.equals("a", "")).isFalse();
73 
74     assertThat(TextUtils.equals("", "ab")).isFalse();
75     assertThat(TextUtils.equals("ab", "")).isFalse();
76 
77     assertThat(TextUtils.equals("a", "ab")).isFalse();
78     assertThat(TextUtils.equals("ab", "a")).isFalse();
79   }
80 
testEllipsize()81   @Test public void testEllipsize() {
82     TextPaint p = new TextPaint();
83     assertThat(TextUtils.ellipsize("apples", p, 0, TextUtils.TruncateAt.END).toString())
84         .isEqualTo("");
85     assertThat(TextUtils.ellipsize("apples", p, -1, TextUtils.TruncateAt.END).toString())
86         .isEqualTo("");
87     assertThat(TextUtils.ellipsize("apples", p, 3, TextUtils.TruncateAt.END).toString())
88         .isEqualTo("app");
89     assertThat(TextUtils.ellipsize("apples", p, 100, TextUtils.TruncateAt.END).toString())
90         .isEqualTo("apples");
91     assertThat(TextUtils.ellipsize("", p, 100, TextUtils.TruncateAt.END).toString()).isEqualTo("");
92   }
93 }
94