Remove Broken WebKit Tests
Bug 3188260
Change-Id: I0c57a1035b7286a69198173a971de67808b0e46f
diff --git a/tests/tests/webkit/src/android/webkit/cts/WebHistoryItemTest.java b/tests/tests/webkit/src/android/webkit/cts/WebHistoryItemTest.java
index 016d566..71ba504 100644
--- a/tests/tests/webkit/src/android/webkit/cts/WebHistoryItemTest.java
+++ b/tests/tests/webkit/src/android/webkit/cts/WebHistoryItemTest.java
@@ -104,42 +104,6 @@
assertTrue(firstId != secondId);
}
- @TestTargetNew(
- level = TestLevel.COMPLETE,
- method = "getOriginalUrl",
- args = {}
- )
- @ToBeFixed(explanation = "History item does not have the original URL set after a redirect.")
- @BrokenTest(value = "Bug 2121787: Test times out on the host side. Not 100% reproducible.")
- public void testRedirect() throws InterruptedException {
- final WebView view = getActivity().getWebView();
- view.setWebChromeClient(new WebChromeClient());
- // set the web view client so that redirects are loaded in the WebView itself
- view.setWebViewClient(new WebViewClient());
- WebBackForwardList list = view.copyBackForwardList();
- assertEquals(0, list.getSize());
-
- String url = mWebServer.getAssetUrl(TestHtmlConstants.HELLO_WORLD_URL);
- String redirect = mWebServer.getRedirectingAssetUrl(TestHtmlConstants.HELLO_WORLD_URL);
- assertLoadUrlSuccessfully(view, redirect);
- // wait for the redirect to take place
- new DelayedCheck(10000) {
- @Override
- protected boolean check() {
- WebBackForwardList list = view.copyBackForwardList();
- return list.getSize() >= 1;
- }
- }.run();
- list = view.copyBackForwardList();
- assertEquals(1, list.getSize());
- WebHistoryItem item = list.getCurrentItem();
- assertNotNull(item);
- assertEquals(url, item.getUrl());
- assertEquals(TestHtmlConstants.HELLO_WORLD_TITLE, item.getTitle());
- // To be fixed: item.getOriginalUrl() returns null
- // assertEquals(redirect, item.getOriginalUrl());
- }
-
private void assertLoadUrlSuccessfully(final WebView view, String url) {
view.loadUrl(url);
// wait for the page load to complete
diff --git a/tests/tests/webkit/src/android/webkit/cts/WebIconDatabaseTest.java b/tests/tests/webkit/src/android/webkit/cts/WebIconDatabaseTest.java
deleted file mode 100644
index 64b5204..0000000
--- a/tests/tests/webkit/src/android/webkit/cts/WebIconDatabaseTest.java
+++ /dev/null
@@ -1,262 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.webkit.cts;
-
-import dalvik.annotation.BrokenTest;
-import dalvik.annotation.TestLevel;
-import dalvik.annotation.TestTargetClass;
-import dalvik.annotation.TestTargetNew;
-import dalvik.annotation.TestTargets;
-
-import android.graphics.Bitmap;
-import android.test.ActivityInstrumentationTestCase2;
-import android.test.UiThreadTest;
-import android.view.animation.cts.DelayedCheck;
-import android.webkit.WebIconDatabase;
-import android.webkit.WebView;
-
-import java.io.File;
-
-@TestTargetClass(android.webkit.WebIconDatabase.class)
-public class WebIconDatabaseTest extends
- ActivityInstrumentationTestCase2<WebViewStubActivity> {
- private static final long ICON_FETCH_TIMEOUT = 15000;
- private static final String DATA_FOLDER = "/webkittest/";
- private String mFilePath;
- private WebView mWebView;
- private CtsTestServer mWebServer;
-
- /**
- * Instantiates a new text view test.
- */
- public WebIconDatabaseTest() {
- super("com.android.cts.stub", WebViewStubActivity.class);
- }
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- WebViewStubActivity activity = (WebViewStubActivity) getActivity();
- mFilePath = activity.getFilesDir().toString() + DATA_FOLDER;
- clearDatabasePath();
-
- mWebView = activity.getWebView();
- mWebView.clearCache(true);
- }
-
- @Override
- protected void tearDown() throws Exception {
- clearDatabasePath();
- if (mWebServer != null) {
- mWebServer.shutdown();
- }
- super.tearDown();
- }
-
- @TestTargets({
- @TestTargetNew(
- level = TestLevel.COMPLETE,
- method = "open",
- args = {String.class}
- ),
- @TestTargetNew(
- level = TestLevel.COMPLETE,
- method = "close",
- args = {}
- )
- })
- @BrokenTest(value="intermittently fails bug 2250024")
- public void testOpen() {
- final WebIconDatabase webIconDatabase = WebIconDatabase.getInstance();
-
- final File path = new File(mFilePath);
- // To assure no files under the directory
- assertNull(path.listFiles());
- // open() should create and open database file for storing icon related datum.
- webIconDatabase.open(mFilePath);
-
- // Need to wait for a moment, let the internal Handler complete the operation
- new DelayedCheck(10000) {
- @Override
- protected boolean check() {
- return path.listFiles() != null;
- }
- }.run();
-
- assertTrue(path.listFiles().length > 0);
-
- webIconDatabase.close();
- }
-
- @TestTargetNew(
- level = TestLevel.COMPLETE,
- method = "getInstance",
- args = {}
- )
- @UiThreadTest
- public void testGetInstance() {
- WebIconDatabase webIconDatabase1 = WebIconDatabase.getInstance();
- WebIconDatabase webIconDatabase2 = WebIconDatabase.getInstance();
-
- assertSame(webIconDatabase1, webIconDatabase2);
- }
-
- @TestTargets({
- @TestTargetNew(
- level = TestLevel.COMPLETE,
- method = "retainIconForPageUrl",
- args = {String.class}
- ),
- @TestTargetNew(
- level = TestLevel.COMPLETE,
- method = "requestIconForPageUrl",
- args = {String.class, WebIconDatabase.IconListener.class}
- ),
- @TestTargetNew(
- level = TestLevel.COMPLETE,
- method = "releaseIconForPageUrl",
- args = {String.class}
- )
- })
- @BrokenTest(value="intermittently fails bug 2250024")
- public void testRetainIconForPageUrl() throws Exception {
- final WebIconDatabase webIconDatabase = WebIconDatabase.getInstance();
- webIconDatabase.open(mFilePath);
-
- mWebServer = new CtsTestServer(getActivity());
- String url = mWebServer.getAssetUrl(TestHtmlConstants.HELLO_WORLD_URL);
- assertLoadUrlSuccessfully(mWebView, url);
-
- MyIconListener listener = new MyIconListener();
-
- webIconDatabase.retainIconForPageUrl(url);
-
- webIconDatabase.requestIconForPageUrl(url, listener);
-
- listener.waitForIcon(ICON_FETCH_TIMEOUT);
- assertTrue(listener.hasReceivedStatus());
- assertNotNull(listener.getIcon());
-
- // release the icon.
- webIconDatabase.releaseIconForPageUrl(url);
-
- listener = new MyIconListener();
- webIconDatabase.requestIconForPageUrl(url, listener);
-
- listener.waitForIcon(ICON_FETCH_TIMEOUT);
-
- assertTrue(listener.hasReceivedStatus());
- assertNotNull(listener.getIcon());
-
- webIconDatabase.close();
- }
-
- @TestTargetNew(
- level = TestLevel.COMPLETE,
- method = "removeAllIcons",
- args = {}
- )
- @BrokenTest(value="intermittently fails bug 2250024")
- public void testRemoveAllIcons() throws Exception {
- final WebIconDatabase webIconDatabase = WebIconDatabase.getInstance();
- webIconDatabase.open(mFilePath);
-
- mWebServer = new CtsTestServer(getActivity());
- String url = mWebServer.getAssetUrl(TestHtmlConstants.HELLO_WORLD_URL);
- assertLoadUrlSuccessfully(mWebView, url);
-
- MyIconListener listener = new MyIconListener();
-
- webIconDatabase.retainIconForPageUrl(url);
-
- webIconDatabase.requestIconForPageUrl(url, listener);
-
- listener.waitForIcon(ICON_FETCH_TIMEOUT);
- assertTrue(listener.hasReceivedStatus());
- assertNotNull(listener.getIcon());
-
- // remove all icons.
- webIconDatabase.removeAllIcons();
-
- listener = new MyIconListener();
- webIconDatabase.requestIconForPageUrl(url, listener);
-
- listener.waitForIcon(ICON_FETCH_TIMEOUT);
-
- assertFalse(listener.hasReceivedStatus());
- assertNull(listener.getIcon());
-
- webIconDatabase.close();
- }
-
- private static class MyIconListener implements WebIconDatabase.IconListener {
- private Bitmap mIcon;
- private String mUrl;
- private boolean mHasReceivedIcon = false;
-
- public synchronized void onReceivedIcon(String url, Bitmap icon) {
- mHasReceivedIcon = true;
- mIcon = icon;
- mUrl = url;
- notifyAll();
- }
-
- public synchronized void waitForIcon(long timeout) throws InterruptedException {
- if (!mHasReceivedIcon) {
- wait(timeout);
- }
- }
-
- public boolean hasReceivedStatus() {
- return mHasReceivedIcon;
- }
-
- public Bitmap getIcon() {
- return mIcon;
- }
-
- public String getUrl() {
- return mUrl;
- }
- }
-
- private void clearDatabasePath() throws InterruptedException {
- File path = new File(mFilePath);
- if (path.exists()) {
- // FIXME: WebIconDatabase.close() is asynchronous, so some files may still be in use
- // after we return. Wait some time for the files to be closed.
- Thread.sleep(1000);
- File[] files = path.listFiles();
- if (files != null) {
- for (int i = 0; i < files.length; i++) {
- assertTrue(files[i].delete());
- }
- }
- path.delete();
- }
- }
-
- private void assertLoadUrlSuccessfully(final WebView view, String url) {
- view.loadUrl(url);
- new DelayedCheck(10000) {
- @Override
- protected boolean check() {
- return view.getProgress() == 100;
- }
- }.run();
- }
-}
diff --git a/tests/tests/webkit/src/android/webkit/cts/WebViewTest.java b/tests/tests/webkit/src/android/webkit/cts/WebViewTest.java
index b9d054f..b29cc84 100644
--- a/tests/tests/webkit/src/android/webkit/cts/WebViewTest.java
+++ b/tests/tests/webkit/src/android/webkit/cts/WebViewTest.java
@@ -1352,39 +1352,6 @@
@TestTargetNew(
level = TestLevel.COMPLETE,
- method = "clearFormData",
- args = {}
- )
- @BrokenTest(value = "Causes the process to crash some time after test completion.")
- public void testClearFormData() throws Throwable {
- String form = "<form><input type=\"text\" name=\"testClearFormData\"></form>";
- mWebView.loadData("<html><body>" + form + "</body></html>", "text/html", "UTF-8");
- waitForLoadComplete(mWebView, TEST_TIMEOUT);
- moveFocusDown();
- getInstrumentation().sendStringSync("test");
- sendKeys(KeyEvent.KEYCODE_ENTER);
-
- mWebView.reload();
- waitForLoadComplete(mWebView, TEST_TIMEOUT);
- moveFocusDown();
- View input = mWebView.findFocus();
- assertTrue(input instanceof AutoCompleteTextView);
- getInstrumentation().sendStringSync("te");
- assertTrue(((AutoCompleteTextView) input).isPopupShowing());
-
- mWebView.reload();
- waitForLoadComplete(mWebView, TEST_TIMEOUT);
- moveFocusDown();
- mWebView.clearFormData();
- // no auto completion choice after clearing
- input = mWebView.findFocus();
- assertTrue(input instanceof AutoCompleteTextView);
- getInstrumentation().sendStringSync("te");
- assertFalse(((AutoCompleteTextView) input).isPopupShowing());
- }
-
- @TestTargetNew(
- level = TestLevel.COMPLETE,
method = "getHitTestResult",
args = {}
)
@@ -1669,42 +1636,6 @@
mWebView.clearSslPreferences();
}
- @TestTargets({
- @TestTargetNew(
- level = TestLevel.COMPLETE,
- method = "pauseTimers",
- args = {}
- ),
- @TestTargetNew(
- level = TestLevel.COMPLETE,
- method = "resumeTimers",
- args = {}
- )
- })
- @ToBeFixed(explanation = "WebView.pauseTimers() does not pause javascript timers")
- @BrokenTest(value = "Frequently crashes the process some time after test completion.")
- public void testPauseTimers() throws Exception {
- WebSettings settings = mWebView.getSettings();
- settings.setJavaScriptEnabled(true);
- startWebServer(false);
- // load a page which increments the number in its title every second
- String url = mWebServer.getAssetUrl(TestHtmlConstants.TEST_TIMER_URL);
- assertLoadUrlSuccessfully(mWebView, url);
- int counter = Integer.parseInt(mWebView.getTitle());
- Thread.sleep(2000);
- assertTrue(Integer.parseInt(mWebView.getTitle()) > counter);
- mWebView.pauseTimers();
- Thread.sleep(2000); // give the implementation time to stop the timer
- counter = Integer.parseInt(mWebView.getTitle());
- Thread.sleep(2000);
- // ToBeFixed: Uncomment the following line once pauseTimers() is fixed
- // assertEquals(counter, Integer.parseInt(mWebView.getTitle()));
- mWebView.resumeTimers();
- Thread.sleep(2000);
- assertTrue(Integer.parseInt(mWebView.getTitle()) > counter);
- }
-
-
@TestTargetNew(
level = TestLevel.COMPLETE,
method = "requestChildRectangleOnScreen",