Home | History | Annotate | Download | only in webkit
      1 package android.webkit;
      2 
      3 import android.webkit.WebSettings;
      4 import android.webkit.TestWebSettings;
      5 import com.xtremelabs.robolectric.Robolectric;
      6 import com.xtremelabs.robolectric.WithTestDefaultsRunner;
      7 import org.junit.Before;
      8 import org.junit.Test;
      9 import org.junit.runner.RunWith;
     10 
     11 import static org.hamcrest.CoreMatchers.equalTo;
     12 import static org.junit.Assert.assertThat;
     13 
     14 @RunWith(WithTestDefaultsRunner.class)
     15 public 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