[go: nahoru, domu]

blob: ce8bcbaf534aba180e5a9610c6a1ffc21d5ee41e [file] [log] [blame]
// Copyright 2012 The Chromium Authors
// 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 androidx.test.filters.SmallTest;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.UseParametersRunnerFactory;
import org.chromium.android_webview.AwContents;
import org.chromium.android_webview.test.util.CommonResources;
import org.chromium.base.task.PostTask;
import org.chromium.base.task.TaskTraits;
import org.chromium.base.test.util.CriteriaHelper;
/** Tests for the WebViewClient.onScaleChanged. */
@RunWith(Parameterized.class)
@UseParametersRunnerFactory(AwJUnit4ClassRunnerWithParameters.Factory.class)
public class AwContentsClientOnScaleChangedTest extends AwParameterizedTest {
@Rule public AwActivityTestRule mActivityTestRule;
private TestAwContentsClient mContentsClient;
private AwContents mAwContents;
public AwContentsClientOnScaleChangedTest(AwSettingsMutation param) {
this.mActivityTestRule = new AwActivityTestRule(param.getMutation());
}
@Before
public void setUp() {
mContentsClient = new TestAwContentsClient();
AwTestContainerView testContainerView =
mActivityTestRule.createAwTestContainerViewOnMainSync(mContentsClient);
mAwContents = testContainerView.getAwContents();
}
@Test
@SmallTest
public void testScaleUp() throws Throwable {
mActivityTestRule.getAwSettingsOnUiThread(mAwContents).setSupportZoom(true);
mActivityTestRule.loadDataSync(
mAwContents,
mContentsClient.getOnPageFinishedHelper(),
CommonResources.makeHtmlPageFrom(
"<meta name=\"viewport\" content=\"initial-scale=1.0, "
+ " minimum-scale=0.5, maximum-scale=2, user-scalable=yes\" />",
"testScaleUp test page body"),
"text/html",
false);
CriteriaHelper.pollUiThread(() -> mAwContents.canZoomIn());
int callCount = mContentsClient.getOnScaleChangedHelper().getCallCount();
PostTask.runOrPostTask(
TaskTraits.UI_DEFAULT, () -> Assert.assertTrue(mAwContents.zoomIn()));
mContentsClient.getOnScaleChangedHelper().waitForCallback(callCount);
Assert.assertTrue(
"Scale ratio:" + mContentsClient.getOnScaleChangedHelper().getLastScaleRatio(),
mContentsClient.getOnScaleChangedHelper().getLastScaleRatio() > 1);
}
}