Index: android_webview/javatests/src/org/chromium/android_webview/test/AndroidWebViewTestBase.java |
diff --git a/android_webview/javatests/src/org/chromium/android_webview/test/AndroidWebViewTestBase.java b/android_webview/javatests/src/org/chromium/android_webview/test/AndroidWebViewTestBase.java |
deleted file mode 100644 |
index e90344e554412aa7fe71a5300b1fab96a1b0f8c1..0000000000000000000000000000000000000000 |
--- a/android_webview/javatests/src/org/chromium/android_webview/test/AndroidWebViewTestBase.java |
+++ /dev/null |
@@ -1,304 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-package org.chromium.android_webview.test; |
- |
-import android.app.Instrumentation; |
-import android.content.Context; |
-import android.test.ActivityInstrumentationTestCase2; |
- |
-import org.chromium.android_webview.AwBrowserContext; |
-import org.chromium.android_webview.AwBrowserProcess; |
-import org.chromium.android_webview.AwContents; |
-import org.chromium.android_webview.AwContentsClient; |
-import org.chromium.android_webview.AwSettings; |
-import org.chromium.android_webview.test.util.JSUtils; |
-import org.chromium.base.test.util.InMemorySharedPreferences; |
-import org.chromium.content.browser.ContentSettings; |
-import org.chromium.content.browser.LoadUrlParams; |
-import org.chromium.content.browser.test.util.CallbackHelper; |
-import org.chromium.content.browser.test.util.Criteria; |
-import org.chromium.content.browser.test.util.CriteriaHelper; |
- |
-import java.util.concurrent.Callable; |
-import java.util.concurrent.FutureTask; |
-import java.util.concurrent.TimeUnit; |
-import java.util.concurrent.atomic.AtomicReference; |
- |
-/** |
- * A base class for android_webview tests. |
- */ |
-public class AndroidWebViewTestBase |
- extends ActivityInstrumentationTestCase2<AndroidWebViewTestRunnerActivity> { |
- protected final static int WAIT_TIMEOUT_SECONDS = 15; |
- private static final int CHECK_INTERVAL = 100; |
- |
- public AndroidWebViewTestBase() { |
- super(AndroidWebViewTestRunnerActivity.class); |
- } |
- |
- @Override |
- protected void setUp() throws Exception { |
- super.setUp(); |
- final Context context = getActivity(); |
- getInstrumentation().runOnMainSync(new Runnable() { |
- @Override |
- public void run() { |
- AwBrowserProcess.start(context); |
- } |
- }); |
- } |
- |
- /** |
- * Runs a {@link Callable} on the main thread, blocking until it is |
- * complete, and returns the result. Calls |
- * {@link Instrumentation#waitForIdleSync()} first to help avoid certain |
- * race conditions. |
- * |
- * @param <R> Type of result to return |
- */ |
- public <R> R runTestOnUiThreadAndGetResult(Callable<R> callable) |
- throws Exception { |
- FutureTask<R> task = new FutureTask<R>(callable); |
- getInstrumentation().waitForIdleSync(); |
- getInstrumentation().runOnMainSync(task); |
- return task.get(); |
- } |
- |
- protected void enableJavaScriptOnUiThread(final AwContents awContents) { |
- getInstrumentation().runOnMainSync(new Runnable() { |
- @Override |
- public void run() { |
- awContents.getContentViewCore().getContentSettings().setJavaScriptEnabled(true); |
- } |
- }); |
- } |
- |
- /** |
- * Loads url on the UI thread and blocks until onPageFinished is called. |
- */ |
- protected void loadUrlSync(final AwContents awContents, |
- CallbackHelper onPageFinishedHelper, |
- final String url) throws Exception { |
- int currentCallCount = onPageFinishedHelper.getCallCount(); |
- loadUrlAsync(awContents, url); |
- onPageFinishedHelper.waitForCallback(currentCallCount, 1, WAIT_TIMEOUT_SECONDS, |
- TimeUnit.SECONDS); |
- } |
- |
- protected void loadUrlSyncAndExpectError(final AwContents awContents, |
- CallbackHelper onPageFinishedHelper, |
- CallbackHelper onReceivedErrorHelper, |
- final String url) throws Exception { |
- int onErrorCallCount = onReceivedErrorHelper.getCallCount(); |
- int onFinishedCallCount = onPageFinishedHelper.getCallCount(); |
- loadUrlAsync(awContents, url); |
- onReceivedErrorHelper.waitForCallback(onErrorCallCount, 1, WAIT_TIMEOUT_SECONDS, |
- TimeUnit.SECONDS); |
- onPageFinishedHelper.waitForCallback(onFinishedCallCount, 1, WAIT_TIMEOUT_SECONDS, |
- TimeUnit.SECONDS); |
- } |
- |
- /** |
- * Loads url on the UI thread but does not block. |
- */ |
- protected void loadUrlAsync(final AwContents awContents, |
- final String url) throws Exception { |
- getInstrumentation().runOnMainSync(new Runnable() { |
- @Override |
- public void run() { |
- awContents.loadUrl(new LoadUrlParams(url)); |
- } |
- }); |
- } |
- |
- /** |
- * Posts url on the UI thread and blocks until onPageFinished is called. |
- */ |
- protected void postUrlSync(final AwContents awContents, |
- CallbackHelper onPageFinishedHelper, final String url, |
- byte[] postData) throws Exception { |
- int currentCallCount = onPageFinishedHelper.getCallCount(); |
- postUrlAsync(awContents, url, postData); |
- onPageFinishedHelper.waitForCallback(currentCallCount, 1, WAIT_TIMEOUT_SECONDS, |
- TimeUnit.SECONDS); |
- } |
- |
- /** |
- * Loads url on the UI thread but does not block. |
- */ |
- protected void postUrlAsync(final AwContents awContents, |
- final String url, byte[] postData) throws Exception { |
- class PostUrl implements Runnable { |
- byte[] mPostData; |
- public PostUrl(byte[] postData) { |
- mPostData = postData; |
- } |
- @Override |
- public void run() { |
- awContents.loadUrl(LoadUrlParams.createLoadHttpPostParams(url, |
- mPostData)); |
- } |
- } |
- getInstrumentation().runOnMainSync(new PostUrl(postData)); |
- } |
- |
- /** |
- * Loads data on the UI thread and blocks until onPageFinished is called. |
- */ |
- protected void loadDataSync(final AwContents awContents, |
- CallbackHelper onPageFinishedHelper, |
- final String data, final String mimeType, |
- final boolean isBase64Encoded) throws Exception { |
- int currentCallCount = onPageFinishedHelper.getCallCount(); |
- loadDataAsync(awContents, data, mimeType, isBase64Encoded); |
- onPageFinishedHelper.waitForCallback(currentCallCount, 1, WAIT_TIMEOUT_SECONDS, |
- TimeUnit.SECONDS); |
- } |
- |
- protected void loadDataSyncWithCharset(final AwContents awContents, |
- CallbackHelper onPageFinishedHelper, |
- final String data, final String mimeType, |
- final boolean isBase64Encoded, final String charset) |
- throws Exception { |
- int currentCallCount = onPageFinishedHelper.getCallCount(); |
- getInstrumentation().runOnMainSync(new Runnable() { |
- @Override |
- public void run() { |
- awContents.loadUrl(LoadUrlParams.createLoadDataParams( |
- data, mimeType, isBase64Encoded, charset)); |
- } |
- }); |
- onPageFinishedHelper.waitForCallback(currentCallCount, 1, WAIT_TIMEOUT_SECONDS, |
- TimeUnit.SECONDS); |
- } |
- |
- /** |
- * Loads data on the UI thread but does not block. |
- */ |
- protected void loadDataAsync(final AwContents awContents, final String data, |
- final String mimeType, final boolean isBase64Encoded) |
- throws Exception { |
- getInstrumentation().runOnMainSync(new Runnable() { |
- @Override |
- public void run() { |
- awContents.loadUrl(LoadUrlParams.createLoadDataParams( |
- data, mimeType, isBase64Encoded)); |
- } |
- }); |
- } |
- |
- protected AwTestContainerView createAwTestContainerView( |
- final AwContentsClient awContentsClient) { |
- return createAwTestContainerView(new AwTestContainerView(getActivity()), |
- awContentsClient); |
- } |
- |
- protected AwTestContainerView createAwTestContainerView( |
- final AwTestContainerView testContainerView, |
- final AwContentsClient awContentsClient) { |
- testContainerView.initialize(new AwContents( |
- new AwBrowserContext(new InMemorySharedPreferences()), |
- testContainerView, testContainerView.getInternalAccessDelegate(), |
- awContentsClient, false)); |
- getActivity().addView(testContainerView); |
- testContainerView.requestFocus(); |
- return testContainerView; |
- } |
- |
- protected AwTestContainerView createAwTestContainerViewOnMainSync( |
- final AwContentsClient client) throws Exception { |
- final AtomicReference<AwTestContainerView> testContainerView = |
- new AtomicReference<AwTestContainerView>(); |
- getInstrumentation().runOnMainSync(new Runnable() { |
- @Override |
- public void run() { |
- testContainerView.set(createAwTestContainerView(client)); |
- } |
- }); |
- return testContainerView.get(); |
- } |
- |
- protected void destroyAwContentsOnMainSync(final AwContents awContents) { |
- if (awContents == null) return; |
- getInstrumentation().runOnMainSync(new Runnable() { |
- @Override |
- public void run() { |
- awContents.destroy(); |
- } |
- }); |
- } |
- |
- protected String getTitleOnUiThread(final AwContents awContents) throws Exception { |
- return runTestOnUiThreadAndGetResult(new Callable<String>() { |
- @Override |
- public String call() throws Exception { |
- return awContents.getContentViewCore().getTitle(); |
- } |
- }); |
- } |
- |
- protected ContentSettings getContentSettingsOnUiThread( |
- final AwContents awContents) throws Exception { |
- return runTestOnUiThreadAndGetResult(new Callable<ContentSettings>() { |
- @Override |
- public ContentSettings call() throws Exception { |
- return awContents.getContentViewCore().getContentSettings(); |
- } |
- }); |
- } |
- |
- protected AwSettings getAwSettingsOnUiThread( |
- final AwContents awContents) throws Exception { |
- return runTestOnUiThreadAndGetResult(new Callable<AwSettings>() { |
- @Override |
- public AwSettings call() throws Exception { |
- return awContents.getSettings(); |
- } |
- }); |
- } |
- |
- /** |
- * Executes the given snippet of JavaScript code within the given ContentView. Returns the |
- * result of its execution in JSON format. |
- */ |
- protected String executeJavaScriptAndWaitForResult(final AwContents awContents, |
- TestAwContentsClient viewClient, final String code) throws Exception { |
- return JSUtils.executeJavaScriptAndWaitForResult(this, awContents, |
- viewClient.getOnEvaluateJavaScriptResultHelper(), |
- code); |
- } |
- |
- /** |
- * Similar to CriteriaHelper.pollForCriteria but runs the callable on the UI thread. |
- * Note that exceptions are treated as failure. |
- */ |
- protected boolean pollOnUiThread(final Callable<Boolean> callable) throws Exception { |
- return CriteriaHelper.pollForCriteria(new Criteria() { |
- @Override |
- public boolean isSatisfied() { |
- try { |
- return runTestOnUiThreadAndGetResult(callable); |
- } catch (Throwable e) { |
- return false; |
- } |
- } |
- }); |
- } |
- |
- /** |
- * Clears the resource cache. Note that the cache is per-application, so this will clear the |
- * cache for all WebViews used. |
- */ |
- protected void clearCacheOnUiThread( |
- final AwContents awContents, |
- final boolean includeDiskFiles) throws Exception { |
- getInstrumentation().runOnMainSync(new Runnable() { |
- @Override |
- public void run() { |
- awContents.clearCache(includeDiskFiles); |
- } |
- }); |
- } |
-} |