TestWebSettingsTest.java revision 99fafb79bf98b7aa1946bbda1f0a225cefa2d35d
1package android.webkit;
2
3import android.webkit.WebSettings;
4import android.webkit.TestWebSettings;
5import com.xtremelabs.robolectric.Robolectric;
6import com.xtremelabs.robolectric.WithTestDefaultsRunner;
7import org.junit.Before;
8import org.junit.Test;
9import org.junit.runner.RunWith;
10
11import static org.hamcrest.CoreMatchers.equalTo;
12import static org.junit.Assert.assertThat;
13
14@RunWith(WithTestDefaultsRunner.class)
15public class TestWebSettingsTest {
16
17    private TestWebSettings webSettings;
18
19    private boolean[] trueAndFalse = {true, false};
20
21    @Before
22    public void setUp() throws Exception {
23        webSettings = new TestWebSettings();
24    }
25
26    @Test
27    public void testDefaults() {
28        assertThat(webSettings.getAllowFileAccess(), equalTo(true));
29        assertThat(webSettings.getBlockNetworkImage(), equalTo(false));
30        assertThat(webSettings.getBlockNetworkLoads(), equalTo(false));
31        assertThat(webSettings.getBuiltInZoomControls(), equalTo(true));
32        assertThat(webSettings.getDatabaseEnabled(), equalTo(false));
33        assertThat(webSettings.getDomStorageEnabled(), equalTo(false));
34        assertThat(webSettings.getJavaScriptEnabled(), equalTo(false));
35        assertThat(webSettings.getLightTouchEnabled(), equalTo(false));
36        assertThat(webSettings.getLoadWithOverviewMode(), equalTo(false));
37        assertThat(webSettings.getPluginState(), equalTo(WebSettings.PluginState.OFF));
38
39        // deprecated methods
40        assertThat(webSettings.getPluginsEnabled(), equalTo(false));
41
42        // obsoleted methods
43        assertThat(webSettings.getNeedInitialFocus(), equalTo(false));
44        assertThat(webSettings.getSupportMultipleWindows(), equalTo(false));
45        assertThat(webSettings.getSupportZoom(), equalTo(true));
46    }
47
48    @Test
49    public void testAllowFileAccess() {
50        for (boolean value : trueAndFalse) {
51            webSettings.setAllowFileAccess(value);
52            assertThat(webSettings.getAllowFileAccess(), equalTo(value));
53        }
54    }
55
56    @Test
57    public void testAllowFileAccessFromFileURLs() {
58        for (boolean value : trueAndFalse) {
59            webSettings.setAllowFileAccessFromFileURLs(value);
60            assertThat(webSettings.getAllowFileAccessFromFileURLs(), equalTo(value));
61        }
62    }
63
64    @Test
65    public void testAllowUniversalAccessFromFileURLs() {
66        for (boolean value : trueAndFalse) {
67            webSettings.setAllowUniversalAccessFromFileURLs(value);
68            assertThat(webSettings.getAllowUniversalAccessFromFileURLs(), equalTo(value));
69        }
70    }
71
72    @Test
73    public void testBlockNetworkImage() {
74        for (boolean value : trueAndFalse) {
75            webSettings.setBlockNetworkImage(value);
76            assertThat(webSettings.getBlockNetworkImage(), equalTo(value));
77        }
78    }
79
80    @Test
81    public void testBlockNetworkLoads() {
82        for (boolean value : trueAndFalse) {
83            webSettings.setBlockNetworkLoads(value);
84            assertThat(webSettings.getBlockNetworkLoads(), equalTo(value));
85        }
86    }
87
88    @Test
89    public void testBuiltInZoomControls() {
90        for (boolean value : trueAndFalse) {
91            webSettings.setBuiltInZoomControls(value);
92            assertThat(webSettings.getBuiltInZoomControls(), equalTo(value));
93        }
94    }
95
96    @Test
97    public void testDatabaseEnabled() {
98        for (boolean value : trueAndFalse) {
99            webSettings.setDatabaseEnabled(value);
100            assertThat(webSettings.getDatabaseEnabled(), equalTo(value));
101        }
102    }
103
104    @Test
105    public void testDomStorageEnabled() {
106        for (boolean value : trueAndFalse) {
107            webSettings.setDomStorageEnabled(value);
108            assertThat(webSettings.getDomStorageEnabled(), equalTo(value));
109        }
110    }
111
112    @Test
113    public void testJavaScriptEnabled() {
114        for (boolean value : trueAndFalse) {
115            webSettings.setJavaScriptEnabled(value);
116            assertThat(webSettings.getJavaScriptEnabled(), equalTo(value));
117        }
118    }
119
120    @Test
121    public void testLightTouchEnabled() {
122        for (boolean value : trueAndFalse) {
123            webSettings.setLightTouchEnabled(value);
124            assertThat(webSettings.getLightTouchEnabled(), equalTo(value));
125        }
126    }
127
128    @Test
129    public void testLoadWithOverviewMode() {
130        for (boolean value : trueAndFalse) {
131            webSettings.setLoadWithOverviewMode(value);
132            assertThat(webSettings.getLoadWithOverviewMode(), equalTo(value));
133        }
134    }
135
136    @Test
137    public void testNeedInitialFocus() {
138        for (boolean value : trueAndFalse) {
139            webSettings.setNeedInitialFocus(value);
140            assertThat(webSettings.getNeedInitialFocus(), equalTo(value));
141        }
142    }
143
144    @Test
145    public void testPluginsEnabled() {
146        for (boolean value : trueAndFalse) {
147            webSettings.setPluginsEnabled(value);
148            assertThat(webSettings.getPluginsEnabled(), equalTo(value));
149        }
150    }
151
152    @Test
153    public void testPluginState() {
154        WebSettings.PluginState[] states = {
155                WebSettings.PluginState.OFF,
156                WebSettings.PluginState.ON,
157                WebSettings.PluginState.ON_DEMAND
158        };
159
160        for (WebSettings.PluginState state : states) {
161            webSettings.setPluginState(state);
162            assertThat(webSettings.getPluginState(), equalTo(state));
163        }
164    }
165
166    @Test
167    public void testSupportMultipleWindows() {
168        for (boolean value : trueAndFalse) {
169            webSettings.setSupportMultipleWindows(value);
170            assertThat(webSettings.getSupportMultipleWindows(), equalTo(value));
171        }
172    }
173
174    @Test
175    public void testSupportZoom() {
176        for (boolean value : trueAndFalse) {
177            webSettings.setSupportZoom(value);
178            assertThat(webSettings.getSupportZoom(), equalTo(value));
179        }
180    }
181}
182