1package com.xtremelabs.robolectric.shadows;
2
3import android.text.SpannableStringBuilder;
4import com.xtremelabs.robolectric.WithTestDefaultsRunner;
5import org.junit.Test;
6import org.junit.runner.RunWith;
7
8import static org.hamcrest.CoreMatchers.equalTo;
9import static org.junit.Assert.assertThat;
10
11@RunWith(WithTestDefaultsRunner.class)
12public class SpannableStringBuilderTest {
13
14    @Test
15    public void testAppend() throws Exception {
16        SpannableStringBuilder builder = new SpannableStringBuilder("abc");
17        builder.append('d').append("e").append("f");
18        assertThat(builder.toString(), equalTo("abcdef"));
19    }
20
21    @Test
22    public void testLength() throws Exception {
23        SpannableStringBuilder builder = new SpannableStringBuilder("abc");
24        assertThat(builder.length(), equalTo(3));
25    }
26
27    @Test
28    public void testReplace() throws Exception {
29        SpannableStringBuilder builder = new SpannableStringBuilder("abc");
30        assertThat(builder.replace(2, 3, "").toString(), equalTo("ab"));
31        assertThat(builder.replace(0, 2, "xyz").toString(), equalTo("xyz"));
32    }
33
34    @Test
35    public void testInsert() throws Exception {
36        SpannableStringBuilder builder = new SpannableStringBuilder("abc");
37        assertThat(builder.insert(1, "xy").toString(), equalTo("axybc"));
38    }
39
40    @Test
41    public void testDelete() throws Exception {
42        SpannableStringBuilder builder = new SpannableStringBuilder("abc");
43        assertThat(builder.length(), equalTo(3));
44        builder.delete( 0, 3 );
45        assertThat( builder.length(), equalTo(0));
46    }
47}
48