| package android.webkit; |
| |
| import android.webkit.WebSettings; |
| import android.webkit.TestWebSettings; |
| import com.xtremelabs.robolectric.Robolectric; |
| import com.xtremelabs.robolectric.WithTestDefaultsRunner; |
| import org.junit.Before; |
| import org.junit.Test; |
| import org.junit.runner.RunWith; |
| |
| import static org.hamcrest.CoreMatchers.equalTo; |
| import static org.junit.Assert.assertThat; |
| |
| @RunWith(WithTestDefaultsRunner.class) |
| public class TestWebSettingsTest { |
| |
| private TestWebSettings webSettings; |
| |
| private boolean[] trueAndFalse = {true, false}; |
| |
| @Before |
| public void setUp() throws Exception { |
| webSettings = new TestWebSettings(); |
| } |
| |
| @Test |
| public void testDefaults() { |
| assertThat(webSettings.getAllowFileAccess(), equalTo(true)); |
| assertThat(webSettings.getBlockNetworkImage(), equalTo(false)); |
| assertThat(webSettings.getBlockNetworkLoads(), equalTo(false)); |
| assertThat(webSettings.getBuiltInZoomControls(), equalTo(true)); |
| assertThat(webSettings.getDatabaseEnabled(), equalTo(false)); |
| assertThat(webSettings.getDomStorageEnabled(), equalTo(false)); |
| assertThat(webSettings.getJavaScriptEnabled(), equalTo(false)); |
| assertThat(webSettings.getLightTouchEnabled(), equalTo(false)); |
| assertThat(webSettings.getLoadWithOverviewMode(), equalTo(false)); |
| assertThat(webSettings.getPluginState(), equalTo(WebSettings.PluginState.OFF)); |
| |
| // deprecated methods |
| assertThat(webSettings.getPluginsEnabled(), equalTo(false)); |
| |
| // obsoleted methods |
| assertThat(webSettings.getNeedInitialFocus(), equalTo(false)); |
| assertThat(webSettings.getSupportMultipleWindows(), equalTo(false)); |
| assertThat(webSettings.getSupportZoom(), equalTo(true)); |
| } |
| |
| @Test |
| public void testAllowFileAccess() { |
| for (boolean value : trueAndFalse) { |
| webSettings.setAllowFileAccess(value); |
| assertThat(webSettings.getAllowFileAccess(), equalTo(value)); |
| } |
| } |
| |
| @Test |
| public void testAllowFileAccessFromFileURLs() { |
| for (boolean value : trueAndFalse) { |
| webSettings.setAllowFileAccessFromFileURLs(value); |
| assertThat(webSettings.getAllowFileAccessFromFileURLs(), equalTo(value)); |
| } |
| } |
| |
| @Test |
| public void testAllowUniversalAccessFromFileURLs() { |
| for (boolean value : trueAndFalse) { |
| webSettings.setAllowUniversalAccessFromFileURLs(value); |
| assertThat(webSettings.getAllowUniversalAccessFromFileURLs(), equalTo(value)); |
| } |
| } |
| |
| @Test |
| public void testBlockNetworkImage() { |
| for (boolean value : trueAndFalse) { |
| webSettings.setBlockNetworkImage(value); |
| assertThat(webSettings.getBlockNetworkImage(), equalTo(value)); |
| } |
| } |
| |
| @Test |
| public void testBlockNetworkLoads() { |
| for (boolean value : trueAndFalse) { |
| webSettings.setBlockNetworkLoads(value); |
| assertThat(webSettings.getBlockNetworkLoads(), equalTo(value)); |
| } |
| } |
| |
| @Test |
| public void testBuiltInZoomControls() { |
| for (boolean value : trueAndFalse) { |
| webSettings.setBuiltInZoomControls(value); |
| assertThat(webSettings.getBuiltInZoomControls(), equalTo(value)); |
| } |
| } |
| |
| @Test |
| public void testDatabaseEnabled() { |
| for (boolean value : trueAndFalse) { |
| webSettings.setDatabaseEnabled(value); |
| assertThat(webSettings.getDatabaseEnabled(), equalTo(value)); |
| } |
| } |
| |
| @Test |
| public void testDomStorageEnabled() { |
| for (boolean value : trueAndFalse) { |
| webSettings.setDomStorageEnabled(value); |
| assertThat(webSettings.getDomStorageEnabled(), equalTo(value)); |
| } |
| } |
| |
| @Test |
| public void testJavaScriptEnabled() { |
| for (boolean value : trueAndFalse) { |
| webSettings.setJavaScriptEnabled(value); |
| assertThat(webSettings.getJavaScriptEnabled(), equalTo(value)); |
| } |
| } |
| |
| @Test |
| public void testLightTouchEnabled() { |
| for (boolean value : trueAndFalse) { |
| webSettings.setLightTouchEnabled(value); |
| assertThat(webSettings.getLightTouchEnabled(), equalTo(value)); |
| } |
| } |
| |
| @Test |
| public void testLoadWithOverviewMode() { |
| for (boolean value : trueAndFalse) { |
| webSettings.setLoadWithOverviewMode(value); |
| assertThat(webSettings.getLoadWithOverviewMode(), equalTo(value)); |
| } |
| } |
| |
| @Test |
| public void testNeedInitialFocus() { |
| for (boolean value : trueAndFalse) { |
| webSettings.setNeedInitialFocus(value); |
| assertThat(webSettings.getNeedInitialFocus(), equalTo(value)); |
| } |
| } |
| |
| @Test |
| public void testPluginsEnabled() { |
| for (boolean value : trueAndFalse) { |
| webSettings.setPluginsEnabled(value); |
| assertThat(webSettings.getPluginsEnabled(), equalTo(value)); |
| } |
| } |
| |
| @Test |
| public void testPluginState() { |
| WebSettings.PluginState[] states = { |
| WebSettings.PluginState.OFF, |
| WebSettings.PluginState.ON, |
| WebSettings.PluginState.ON_DEMAND |
| }; |
| |
| for (WebSettings.PluginState state : states) { |
| webSettings.setPluginState(state); |
| assertThat(webSettings.getPluginState(), equalTo(state)); |
| } |
| } |
| |
| @Test |
| public void testSupportMultipleWindows() { |
| for (boolean value : trueAndFalse) { |
| webSettings.setSupportMultipleWindows(value); |
| assertThat(webSettings.getSupportMultipleWindows(), equalTo(value)); |
| } |
| } |
| |
| @Test |
| public void testSupportZoom() { |
| for (boolean value : trueAndFalse) { |
| webSettings.setSupportZoom(value); |
| assertThat(webSettings.getSupportZoom(), equalTo(value)); |
| } |
| } |
| } |