diff options
author | acleung@google.com <acleung@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-05 07:59:40 +0000 |
---|---|---|
committer | acleung@google.com <acleung@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-05 07:59:40 +0000 |
commit | fe72f0096f7f3865200ab11ca5335f1c32ab5c0c (patch) | |
tree | b19e48996a6c7c578a55a2ae4b6dde527c4001ee /android_webview | |
parent | 1b79feb990c5423770be56936b2bac28fbe43ab6 (diff) | |
download | chromium_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.java | 69 |
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); + } +} |