@Test public void shouldRecordWebChromeClient() { WebChromeClient webChromeClient = new WebChromeClient(); assertThat(shadowWebView.getWebChromeClient()).isNull(); webView.setWebChromeClient(webChromeClient); assertThat(shadowWebView.getWebChromeClient()).isSameAs(webChromeClient); }
@Test public void shouldStoreCanGoBack() throws Exception { shadowWebView.setCanGoBack(false); assertFalse(webView.canGoBack()); shadowWebView.setCanGoBack(true); assertTrue(webView.canGoBack()); }
@Test public void shouldRecordClearCacheWithDiskFiles() { assertThat(shadowWebView.wasClearCacheCalled()).isFalse(); webView.clearCache(true); assertThat(shadowWebView.wasClearCacheCalled()).isTrue(); assertThat(shadowWebView.didClearCacheIncludeDiskFiles()).isTrue(); }
@Test public void shouldStoreTheNumberOfTimesGoBackWasCalled() throws Exception { assertEquals(0, shadowWebView.getGoBackInvocations()); webView.goBack(); assertEquals(1, shadowWebView.getGoBackInvocations()); webView.goBack(); webView.goBack(); assertEquals(3, shadowWebView.getGoBackInvocations()); }
@Test public void shouldRecordJavascriptInteraces() { String[] names = {"name1", "name2"}; for (String name : names) { Object obj = new Object(); assertThat(shadowWebView.getJavascriptInterface(name)).isNull(); webView.addJavascriptInterface(obj, name); assertThat(shadowWebView.getJavascriptInterface(name)).isSameAs(obj); } }
@Test public void shouldStartPostRun() { Runnable testRun = new Runnable() { public void run() { // Do something... return; } }; assertThat(shadowWebView.getRunFlag()).isFalse(); shadowWebView.post(testRun); assertThat(shadowWebView.getRunFlag()).isTrue(); }
@Test public void shouldRecordPictureListener() { WebView.PictureListener pictureListener = new WebView.PictureListener() { @Override public void onNewPicture(WebView view, Picture picture) { ; } }; assertThat(shadowWebView.getPictureListener()).isNull(); webView.setPictureListener(pictureListener); assertThat(shadowWebView.getPictureListener()).isSameAs(pictureListener); }
@Test public void shouldRecordOnResume() { assertThat(shadowWebView.wasOnResumeCalled()).isFalse(); webView.onResume(); assertThat(shadowWebView.wasOnResumeCalled()).isTrue(); }
@Test public void shouldRecordDestroy() { assertThat(shadowWebView.wasDestroyCalled()).isFalse(); webView.destroy(); assertThat(shadowWebView.wasDestroyCalled()).isTrue(); }
@Test public void shouldRecordClearView() { assertThat(shadowWebView.wasClearViewCalled()).isFalse(); webView.clearView(); assertThat(shadowWebView.wasClearViewCalled()).isTrue(); }