summaryrefslogtreecommitdiffstats
path: root/android_webview
diff options
context:
space:
mode:
authoracleung@google.com <acleung@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-05 07:59:40 +0000
committeracleung@google.com <acleung@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-05 07:59:40 +0000
commitfe72f0096f7f3865200ab11ca5335f1c32ab5c0c (patch)
treeb19e48996a6c7c578a55a2ae4b6dde527c4001ee /android_webview
parent1b79feb990c5423770be56936b2bac28fbe43ab6 (diff)
downloadchromium_src-fe72f0096f7f3865200ab11ca5335f1c32ab5c0c.zip
chromium_src-fe72f0096f7f3865200ab11ca5335f1c32ab5c0c.tar.gz
chromium_src-fe72f0096f7f3865200ab11ca5335f1c32ab5c0c.tar.bz2
Adds AwContentsClientOnScaleChangedTest
BUG= Review URL: https://chromiumcodereview.appspot.com/11348280 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171191 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'android_webview')
-rw-r--r--android_webview/javatests/src/org/chromium/android_webview/test/AwContentsClientOnScaleChangedTest.java69
1 files changed, 69 insertions, 0 deletions
diff --git a/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsClientOnScaleChangedTest.java b/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsClientOnScaleChangedTest.java
new file mode 100644
index 0000000..6d1b840
--- /dev/null
+++ b/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsClientOnScaleChangedTest.java
@@ -0,0 +1,69 @@
+// 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.test.suitebuilder.annotation.SmallTest;
+
+import org.chromium.android_webview.AwContents;
+import org.chromium.content.browser.ContentViewCore;
+import org.chromium.content.browser.test.util.CallbackHelper;
+import org.chromium.android_webview.test.util.CommonResources;
+
+import android.util.Log;
+
+/**
+ * Tests for the WebViewClient.onScaleChanged.
+ */
+public class AwContentsClientOnScaleChangedTest extends AndroidWebViewTestBase {
+ private static class OnScaleChangedHelper extends CallbackHelper {
+ private float mLastScaleRatio;
+
+ public void notifyCalled(float ratio) {
+ super.notifyCalled();
+ mLastScaleRatio = ratio;
+ }
+ }
+
+ private static class TestAwContentsClient
+ extends org.chromium.android_webview.test.TestAwContentsClient {
+ private OnScaleChangedHelper mOnScaleChangedHelper = new OnScaleChangedHelper();
+ @Override
+ public void onScaleChanged(float oldScale, float newScale) {
+ // We should not be getting any messages from scrolling.
+ assertTrue(oldScale != newScale);
+ mOnScaleChangedHelper.notifyCalled(newScale / oldScale);
+ }
+ }
+
+ private TestAwContentsClient mContentsClient;
+ private AwContents mAwContents;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ mContentsClient = new TestAwContentsClient();
+ AwTestContainerView testContainerView =
+ createAwTestContainerViewOnMainSync(mContentsClient);
+ mAwContents = testContainerView.getAwContents();
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+ @SmallTest
+ public void testScaleUp() throws Throwable {
+ loadDataSync(mAwContents, mContentsClient.getOnPageFinishedHelper(),
+ CommonResources.ABOUT_HTML, "text/html", false);
+ ContentViewCore core = mAwContents.getContentViewCore();
+ int callCount = mContentsClient.mOnScaleChangedHelper.getCallCount();
+ core.onSizeChanged(core.getWidth() / 2, core.getHeight() / 2,
+ core.getWidth(), core.getHeight());
+ // TODO: Investigate on using core.zoomIn();
+ mContentsClient.mOnScaleChangedHelper.waitForCallback(callCount);
+ assertTrue(mContentsClient.mOnScaleChangedHelper.mLastScaleRatio < 1);
+ }
+}