blob: 12ae4c6bd0e1522ca38824c6c19979f9d6a6a130 [file] [log] [blame]
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));
}
}
}