Chromium Code Reviews| Index: android_webview/javatests/src/org/chromium/android_webview/test/AwContentsAnchorViewTest.java |
| diff --git a/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsAnchorViewTest.java b/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsAnchorViewTest.java |
| index 0e2c68dc738ecc3e537d42cac8f1add663b9c054..2d8b3377335f9ea84ad5ccbdfa13198ccaed468a 100644 |
| --- a/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsAnchorViewTest.java |
| +++ b/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsAnchorViewTest.java |
| @@ -4,7 +4,6 @@ |
| package org.chromium.android_webview.test; |
| -import android.test.UiThreadTest; |
| import android.test.suitebuilder.annotation.SmallTest; |
| import android.view.View; |
| import android.view.ViewGroup.LayoutParams; |
| @@ -12,7 +11,6 @@ import android.widget.FrameLayout; |
| import org.chromium.android_webview.AwViewAndroidDelegate; |
| import org.chromium.base.test.util.Feature; |
| -import org.chromium.ui.base.ViewAndroidDelegate; |
| import org.chromium.ui.gfx.DeviceDisplayInfo; |
| /** |
| @@ -21,141 +19,137 @@ import org.chromium.ui.gfx.DeviceDisplayInfo; |
| public class AwContentsAnchorViewTest extends AwTestBase { |
| private TestAwContentsClient mContentsClient = new TestAwContentsClient(); |
| + private AwTestContainerView mContainerView; |
| + private AwViewAndroidDelegate mViewDelegate; |
| + |
| + @Override |
| + public void setUp() throws Exception { |
| + super.setUp(); |
| + mContainerView = createAwTestContainerViewOnMainSync(mContentsClient); |
| + mViewDelegate = new AwViewAndroidDelegate( |
| + mContainerView, mContainerView.getContentViewCore().getRenderCoordinates()); |
| + } |
| @Feature({"AndroidWebView"}) |
| @SmallTest |
| - @UiThreadTest |
|
boliu
2016/08/05 15:51:21
why remove UiThreadTest? a lot of these tests are
no sievers
2016/08/05 18:07:22
That being said, these tests also don't really nee
Jinsuk Kim
2016/08/08 01:39:30
Got it. Put it back.
Jinsuk Kim
2016/08/08 01:39:30
The tests don't bring up the whole browser; it is
|
| public void testMovedAndRemovedAnchorViewIsNotTransferred() throws Throwable { |
| // Add, move and remove anchorView |
| - AwTestContainerView containerView = createAwTestContainerViewOnMainSync(mContentsClient); |
| - View anchorView = addAnchorView(containerView); |
| - setLayoutParams(containerView, anchorView, 1, 2); |
| - removeAnchorView(containerView, anchorView); |
| + View anchorView = addAnchorView(); |
| + setLayoutParams(anchorView, 1, 2); |
| + removeAnchorView(anchorView); |
| // Replace container view |
| - FrameLayout updatedContainerView = updateContainerView(containerView); |
| + FrameLayout updatedContainerView = updateContainerView(); |
| - // Verify that no anchor view is transferred between containerViews |
| - assertFalse(isViewInContainer(containerView, anchorView)); |
| + // Verify that no anchor view is transferred between mContainerViews |
| + assertFalse(isViewInContainer(mContainerView, anchorView)); |
| assertFalse(isViewInContainer(updatedContainerView, anchorView)); |
| } |
| @Feature({"AndroidWebView"}) |
| @SmallTest |
| - @UiThreadTest |
| public void testTransferAnchorView() throws Throwable { |
| // Add anchor view |
| - AwTestContainerView containerView = createAwTestContainerViewOnMainSync(mContentsClient); |
| - View anchorView = addAnchorView(containerView); |
| + View anchorView = addAnchorView(); |
| LayoutParams layoutParams = anchorView.getLayoutParams(); |
| // Replace container view |
| - FrameLayout updatedContainerView = updateContainerView(containerView); |
| + FrameLayout updatedContainerView = updateContainerView(); |
| verifyAnchorViewCorrectlyTransferred( |
| - containerView, anchorView, updatedContainerView, layoutParams); |
| + mContainerView, anchorView, updatedContainerView, layoutParams); |
| } |
| @Feature({"AndroidWebView"}) |
| @SmallTest |
| - @UiThreadTest |
| public void testTransferMovedAnchorView() throws Throwable { |
| // Add anchor view and move it |
| - AwTestContainerView containerView = createAwTestContainerViewOnMainSync(mContentsClient); |
| - View anchorView = addAnchorView(containerView); |
| - LayoutParams layoutParams = setLayoutParams(containerView, anchorView, 1, 2); |
| + View anchorView = addAnchorView(); |
| + LayoutParams layoutParams = setLayoutParams(anchorView, 1, 2); |
| // Replace container view |
| - FrameLayout updatedContainerView = updateContainerView(containerView); |
| + FrameLayout updatedContainerView = updateContainerView(); |
| verifyAnchorViewCorrectlyTransferred( |
| - containerView, anchorView, updatedContainerView, layoutParams); |
| + mContainerView, anchorView, updatedContainerView, layoutParams); |
| } |
| @Feature({"AndroidWebView"}) |
| @SmallTest |
| - @UiThreadTest |
| public void testRemoveTransferedAnchorView() throws Throwable { |
| // Add anchor view |
| - AwTestContainerView containerView = createAwTestContainerViewOnMainSync(mContentsClient); |
| - View anchorView = addAnchorView(containerView); |
| + View anchorView = addAnchorView(); |
| // Replace container view |
| - FrameLayout updatedContainerView = updateContainerView(containerView); |
| + FrameLayout updatedContainerView = updateContainerView(); |
| - verifyAnchorViewCorrectlyTransferred(containerView, anchorView, updatedContainerView); |
| + verifyAnchorViewCorrectlyTransferred(mContainerView, anchorView, updatedContainerView); |
| // Remove transferred anchor view |
| - removeAnchorView(containerView, anchorView); |
| + removeAnchorView(anchorView); |
| } |
| @Feature({"AndroidWebView"}) |
| @SmallTest |
| - @UiThreadTest |
| public void testMoveTransferedAnchorView() throws Throwable { |
| // Add anchor view |
| - AwTestContainerView containerView = createAwTestContainerViewOnMainSync(mContentsClient); |
| - View anchorView = addAnchorView(containerView); |
| + View anchorView = addAnchorView(); |
| LayoutParams layoutParams = anchorView.getLayoutParams(); |
| // Replace container view |
| - FrameLayout updatedContainerView = updateContainerView(containerView); |
| + FrameLayout updatedContainerView = updateContainerView(); |
| verifyAnchorViewCorrectlyTransferred( |
| - containerView, anchorView, updatedContainerView, layoutParams); |
| + mContainerView, anchorView, updatedContainerView, layoutParams); |
| // Move transferred anchor view |
| - assertFalse(areEqual(layoutParams, setLayoutParams(containerView, anchorView, 1, 2))); |
| + assertFalse(areEqual(layoutParams, setLayoutParams(anchorView, 1, 2))); |
| } |
| @Feature({"AndroidWebView"}) |
| @SmallTest |
| - @UiThreadTest |
| public void testTransferMultipleMovedAnchorViews() throws Throwable { |
| // Add and move anchorView1 |
| - AwTestContainerView containerView = createAwTestContainerViewOnMainSync(mContentsClient); |
| - View anchorView1 = addAnchorView(containerView); |
| - LayoutParams layoutParams1 = setLayoutParams(containerView, anchorView1, 1, 2); |
| + View anchorView1 = addAnchorView(); |
| + LayoutParams layoutParams1 = setLayoutParams(anchorView1, 1, 2); |
| // Add and move anchorView2 |
| - View anchorView2 = addAnchorView(containerView); |
| - LayoutParams layoutParams2 = setLayoutParams(containerView, anchorView2, 2, 4); |
| + View anchorView2 = addAnchorView(); |
| + LayoutParams layoutParams2 = setLayoutParams(anchorView2, 2, 4); |
| - // Replace containerView |
| - FrameLayout updatedContainerView = updateContainerView(containerView); |
| + // Replace mContainerView |
| + FrameLayout updatedContainerView = updateContainerView(); |
| // Verify that anchor views are transfered with the same layout params. |
| - assertFalse(isViewInContainer(containerView, anchorView1)); |
| - assertFalse(isViewInContainer(containerView, anchorView2)); |
| + assertFalse(isViewInContainer(mContainerView, anchorView1)); |
| + assertFalse(isViewInContainer(mContainerView, anchorView2)); |
| assertTrue(isViewInContainer(updatedContainerView, anchorView1)); |
| assertTrue(isViewInContainer(updatedContainerView, anchorView2)); |
| assertTrue(areEqual(layoutParams1, anchorView1.getLayoutParams())); |
| assertTrue(areEqual(layoutParams2, anchorView2.getLayoutParams())); |
| } |
| - private static View addAnchorView(AwTestContainerView containerView) { |
| - View anchorView = getViewDelegate(containerView).acquireView(); |
| - assertTrue(isViewInContainer(containerView, anchorView)); |
| + private View addAnchorView() { |
| + View anchorView = mViewDelegate.acquireView(); |
| + assertTrue(isViewInContainer(mContainerView, anchorView)); |
| return anchorView; |
| } |
| - private static void removeAnchorView(AwTestContainerView containerView, View anchorView) { |
| - getViewDelegate(containerView).removeView(anchorView); |
| - assertFalse(isViewInContainer(containerView, anchorView)); |
| + private void removeAnchorView(View anchorView) { |
| + mViewDelegate.removeView(anchorView); |
| + assertFalse(isViewInContainer(mContainerView, anchorView)); |
| } |
| - private static LayoutParams setLayoutParams(AwTestContainerView containerView, View anchorView, |
| - int coords, int dimension) { |
| - ViewAndroidDelegate delegate = getViewDelegate(containerView); |
| - float scale = (float) DeviceDisplayInfo.create(containerView.getContext()).getDIPScale(); |
| - delegate.setViewPosition(anchorView, coords, coords, dimension, dimension, scale, 10, 10); |
| + private LayoutParams setLayoutParams(View anchorView, int coords, int dimension) { |
| + float scale = (float) DeviceDisplayInfo.create(mContainerView.getContext()).getDIPScale(); |
| + mViewDelegate.setViewPosition( |
| + anchorView, coords, coords, dimension, dimension, scale, 10, 10); |
| return anchorView.getLayoutParams(); |
| } |
| - private FrameLayout updateContainerView(AwTestContainerView oldContainerView) { |
| - FrameLayout containerView = new FrameLayout(getActivity()); |
| + private FrameLayout updateContainerView() throws InterruptedException { |
| + final FrameLayout containerView = new FrameLayout(getActivity()); |
| getActivity().addView(containerView); |
| - AwViewAndroidDelegate delegate = (AwViewAndroidDelegate) getViewDelegate(oldContainerView); |
| - delegate.updateCurrentContainerView(containerView); |
| + mViewDelegate.updateCurrentContainerView(containerView); |
| return containerView; |
| } |
| @@ -179,8 +173,4 @@ public class AwContentsAnchorViewTest extends AwTestBase { |
| private static boolean isViewInContainer(FrameLayout containerView, View view) { |
| return containerView.indexOfChild(view) != -1; |
| } |
| - |
| - private static ViewAndroidDelegate getViewDelegate(AwTestContainerView containerView) { |
| - return containerView.getAwContents().getContentViewCore().getViewAndroidDelegate(); |
| - } |
| } |