1package com.xtremelabs.robolectric.res;
2
3import com.xtremelabs.robolectric.R;
4import org.hamcrest.CoreMatchers;
5import org.junit.Before;
6import org.junit.Test;
7
8import static org.hamcrest.CoreMatchers.equalTo;
9import static org.junit.Assert.assertThat;
10
11public class ResourceExtractorTest {
12    private ResourceExtractor resourceExtractor;
13
14    @Before
15    public void setUp() throws Exception {
16        resourceExtractor = new ResourceExtractor();
17        resourceExtractor.addLocalRClass(R.class);
18        resourceExtractor.addSystemRClass(android.R.class);
19    }
20
21    @Test
22    public void shouldHandleStyleable() throws Exception {
23        assertThat(resourceExtractor.getLocalResourceId("id/textStyle"), equalTo(R.id.textStyle));
24        assertThat(resourceExtractor.getLocalResourceId("styleable/TitleBar_textStyle"), CoreMatchers.<Object>nullValue());
25    }
26
27    @Test
28    public void shouldPrefixAllSystemResourcesWithAndroid() throws Exception {
29        assertThat(resourceExtractor.getResourceId("android:id/text1"), equalTo(android.R.id.text1));
30    }
31
32    @Test
33    public void shouldHandleNull() throws Exception {
34        assertThat(resourceExtractor.getLocalResourceId("@null"), equalTo(0));
35    }
36}
37