use of org.robolectric.shadows.ShadowWebView in project materialistic by hidroh.
the class WebFragmentLocalTest method testMenu.
@Test
public void testMenu() {
TestWebItem item = new TestWebItem() {
@NonNull
@Override
public String getType() {
return STORY_TYPE;
}
@Override
public String getId() {
return "1";
}
@Override
public String getUrl() {
return String.format(HackerNewsClient.WEB_ITEM_PATH, "1");
}
@Override
public String getDisplayedTitle() {
return "Ask HN";
}
};
Intent intent = new Intent();
intent.putExtra(WebActivity.EXTRA_ITEM, item);
controller.withIntent(intent).create().start().resume().visible();
verify(itemManager).getItem(eq("1"), eq(ItemManager.MODE_DEFAULT), listener.capture());
listener.getValue().onResponse(new TestItem() {
@Override
public String getText() {
return "text";
}
});
Fragment fragment = activity.getSupportFragmentManager().findFragmentByTag(WebFragment.class.getName());
assertTrue(fragment.hasOptionsMenu());
fragment.onOptionsItemSelected(new RoboMenuItem(R.id.menu_font_options));
assertNotNull(ShadowDialog.getLatestDialog());
PreferenceManager.getDefaultSharedPreferences(activity).edit().putString(activity.getString(R.string.pref_readability_font), "DroidSans.ttf").apply();
WebView webView = (WebView) activity.findViewById(R.id.web_view);
ShadowWebView shadowWebView = shadowOf(webView);
shadowWebView.getWebViewClient().onPageFinished(webView, "about:blank");
assertThat(shadowWebView.getLastLoadDataWithBaseURL().data).contains("text").contains("DroidSans.ttf");
}
use of org.robolectric.shadows.ShadowWebView in project materialistic by hidroh.
the class WebFragmentLocalTest method testComment.
@Test
public void testComment() {
TestItem item = new TestItem() {
@NonNull
@Override
public String getType() {
return COMMENT_TYPE;
}
@Override
public String getId() {
return "1";
}
@Override
public String getUrl() {
return String.format(HackerNewsClient.WEB_ITEM_PATH, "1");
}
@Override
public String getText() {
return "comment";
}
};
Intent intent = new Intent();
intent.putExtra(WebActivity.EXTRA_ITEM, item);
controller.withIntent(intent).create().start().resume().visible();
WebView webView = (WebView) activity.findViewById(R.id.web_view);
ShadowWebView shadowWebView = shadowOf(webView);
shadowWebView.getWebViewClient().onPageFinished(webView, "about:blank");
assertThat(shadowWebView.getLastLoadDataWithBaseURL().data).contains("comment");
}
use of org.robolectric.shadows.ShadowWebView in project materialistic by hidroh.
the class OfflineWebActivityTest method testLoadUrl.
@Test
public void testLoadUrl() {
activity = controller.withIntent(new Intent().putExtra(OfflineWebActivity.EXTRA_URL, "http://example.com")).create().get();
assertThat(activity.getTitle()).contains("http://example.com");
WebView webView = (WebView) activity.findViewById(R.id.web_view);
View progress = activity.findViewById(R.id.progress);
ShadowWebView shadowWebView = shadowOf(webView);
assertThat(shadowWebView.getLastLoadedUrl()).contains("http://example.com");
shadowWebView.getWebViewClient().onPageFinished(webView, "http://example.com");
// web view title
assertThat(activity.getTitle()).isNullOrEmpty();
shadowWebView.getWebChromeClient().onProgressChanged(webView, 50);
assertThat(progress).isVisible();
shadowWebView.getWebChromeClient().onProgressChanged(webView, 100);
assertThat(progress).isNotVisible();
}
use of org.robolectric.shadows.ShadowWebView in project materialistic by hidroh.
the class WebFragmentLocalTest method testStory.
@Test
public void testStory() {
TestWebItem item = new TestWebItem() {
@NonNull
@Override
public String getType() {
return STORY_TYPE;
}
@Override
public String getId() {
return "1";
}
@Override
public String getUrl() {
return String.format(HackerNewsClient.WEB_ITEM_PATH, "1");
}
@Override
public String getDisplayedTitle() {
return "Ask HN";
}
};
Intent intent = new Intent();
intent.putExtra(WebActivity.EXTRA_ITEM, item);
controller.withIntent(intent).create().start().resume().visible();
verify(itemManager).getItem(eq("1"), eq(ItemManager.MODE_DEFAULT), listener.capture());
listener.getValue().onResponse(new TestItem() {
@Override
public String getText() {
return "text";
}
});
WebView webView = (WebView) activity.findViewById(R.id.web_view);
ShadowWebView shadowWebView = shadowOf(webView);
shadowWebView.getWebViewClient().onPageFinished(webView, "about:blank");
assertThat(shadowWebView.getLastLoadDataWithBaseURL().data).contains("text");
}
Aggregations