Fix broken WebViewTest tests.
- Adjust testSetInitialScale and testGetContentHeight to account for screen
density.
- Change testStopLoading and testLoadUrl to use assert 100 as initial
progress value.
Bug 2251669, 2251716, 2106766
Change-Id: Iaea2dbb609baec8ba50612ac7d7aa8cfb1c249c1
diff --git a/tests/tests/webkit/src/android/webkit/cts/WebViewTest.java b/tests/tests/webkit/src/android/webkit/cts/WebViewTest.java
index 41c0042..bd805a3 100644
--- a/tests/tests/webkit/src/android/webkit/cts/WebViewTest.java
+++ b/tests/tests/webkit/src/android/webkit/cts/WebViewTest.java
@@ -63,6 +63,7 @@
@TestTargetClass(android.webkit.WebView.class)
public class WebViewTest extends ActivityInstrumentationTestCase2<WebViewStubActivity> {
+ private static final int INITIAL_PROGRESS = 100;
private static long TEST_TIMEOUT = 20000L;
private static long TIME_FOR_LAYOUT = 1000L;
@@ -410,7 +411,7 @@
public void testLoadUrl() throws Exception {
assertNull(mWebView.getUrl());
assertNull(mWebView.getOriginalUrl());
- assertEquals(0, mWebView.getProgress());
+ assertEquals(INITIAL_PROGRESS, mWebView.getProgress());
startWebServer(false);
String url = mWebServer.getAssetUrl(TestHtmlConstants.HELLO_WORLD_URL);
@@ -457,7 +458,7 @@
)
public void testStopLoading() throws Exception {
assertNull(mWebView.getUrl());
- assertEquals(0, mWebView.getProgress());
+ assertEquals(INITIAL_PROGRESS, mWebView.getProgress());
startWebServer(false);
String url = mWebServer.getDelayedAssetUrl(TestHtmlConstants.HELLO_WORLD_URL);
@@ -1067,7 +1068,7 @@
public void testGetContentHeight() throws InterruptedException {
mWebView.loadData("<html><body></body></html>", "text/html", "UTF-8");
waitForLoadComplete(mWebView, TEST_TIMEOUT);
- assertEquals(mWebView.getHeight(), mWebView.getContentHeight());
+ assertEquals(mWebView.getHeight(), mWebView.getContentHeight() * mWebView.getScale(), 2f);
final int pageHeight = 600;
// set the margin to 0
@@ -1438,22 +1439,25 @@
String p = "<p style=\"height:1000px;width:1000px\">Test setInitialScale.</p>";
mWebView.loadData("<html><body>" + p + "</body></html>", "text/html", "UTF-8");
waitForLoadComplete(mWebView, TEST_TIMEOUT);
- assertEquals(1.0f, mWebView.getScale(), 0f);
+ final float defaultScale = getInstrumentation().getTargetContext().getResources().
+ getDisplayMetrics().density;
+ assertEquals(defaultScale, mWebView.getScale(), 0f);
mWebView.setInitialScale(0);
- mWebView.reload();
+ // modify content to fool WebKit into re-loading
+ mWebView.loadData("<html><body>" + p + "2" + "</body></html>", "text/html", "UTF-8");
waitForLoadComplete(mWebView, TEST_TIMEOUT);
- assertEquals(1.0f, mWebView.getScale(), 0f);
+ assertEquals(defaultScale, mWebView.getScale(), 0f);
mWebView.setInitialScale(50);
- mWebView.reload();
+ mWebView.loadData("<html><body>" + p + "3" + "</body></html>", "text/html", "UTF-8");
waitForLoadComplete(mWebView, TEST_TIMEOUT);
- assertEquals(0.5f, mWebView.getScale(), 0f);
+ assertEquals(0.5f, mWebView.getScale(), .02f);
mWebView.setInitialScale(0);
- mWebView.reload();
+ mWebView.loadData("<html><body>" + p + "4" + "</body></html>", "text/html", "UTF-8");
waitForLoadComplete(mWebView, TEST_TIMEOUT);
- assertEquals(1.0f, mWebView.getScale(), 0f);
+ assertEquals(defaultScale, mWebView.getScale(), 0f);
}
@TestTargetNew(