Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(223)

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/compositor/CompositorVisibilityTest.java

Issue 2840933004: Add ChromeTabbedActivityTestRules for JUnit4 instrumentation tests (Closed)
Patch Set: add TODO Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/javatests/src/org/chromium/chrome/browser/compositor/CompositorVisibilityTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/CompositorVisibilityTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/CompositorVisibilityTest.java
index ff8b9c6a4903f089de721b28553992e8dac8074a..52f3afbd71b2a88daf2532a778585a5e7e9eafe8 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/CompositorVisibilityTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/CompositorVisibilityTest.java
@@ -4,25 +4,38 @@
package org.chromium.chrome.browser.compositor;
-import android.annotation.TargetApi;
import android.graphics.Rect;
-import android.support.test.annotation.UiThreadTest;
+import android.os.Build;
import android.support.test.filters.SmallTest;
import android.view.SurfaceView;
import android.view.View;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
-import org.chromium.chrome.browser.ChromeActivityTest;
+import org.chromium.base.test.util.CommandLineFlags;
+import org.chromium.base.test.util.MinAndroidSdkLevel;
+import org.chromium.chrome.browser.ChromeSwitches;
import org.chromium.chrome.browser.compositor.layouts.LayoutRenderHost;
+import org.chromium.chrome.test.ChromeActivityTestRule;
+import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
+import org.chromium.chrome.test.ChromeTabbedActivityTestRule;
import org.chromium.ui.resources.ResourceManager;
/**
* Integration tests for {@link org.chromium.chrome.browser.compositor.CompositorView}.
*/
-@TargetApi(21)
-public class CompositorVisibilityTest extends ChromeActivityTest {
+@RunWith(ChromeJUnit4ClassRunner.class)
+@CommandLineFlags.Add({ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE,
+ ChromeActivityTestRule.DISABLE_NETWORK_PREDICTION_FLAG})
+@MinAndroidSdkLevel(Build.VERSION_CODES.LOLLIPOP)
+public class CompositorVisibilityTest {
+ @Rule
+ public ChromeTabbedActivityTestRule mActivityTestRule = new ChromeTabbedActivityTestRule();
+
private CompositorView mCompositorView;
private LayoutRenderHost mRenderHost = new LayoutRenderHost() {
@@ -71,29 +84,44 @@ public class CompositorVisibilityTest extends ChromeActivityTest {
public void invalidateAccessibilityProvider() {}
};
+ @Before
+ public void setUp() throws InterruptedException {
+ mActivityTestRule.startMainActivityOnBlankPage();
+ }
+
// Verify that setVisibility on |mCompositorView| is transferred to its children. Otherwise,
// the underlying surface is not destroyed. This can interfere with VR, which hides the
// CompositorView and creates its own surfaces. The compositor surfaces can show up when the VR
// surfaces are supposed to be visible.
+ @Test
@SmallTest
- @UiThreadTest
- public void testSetVisibilityHidesSurfaces() {
- mCompositorView = new CompositorView(getActivity(), mRenderHost);
- mCompositorView.setVisibility(View.VISIBLE);
- assertEquals(View.VISIBLE, mCompositorView.getChildAt(0).getVisibility());
- mCompositorView.setVisibility(View.INVISIBLE);
- assertEquals(View.INVISIBLE, mCompositorView.getChildAt(0).getVisibility());
+ public void testSetVisibilityHidesSurfaces() throws Throwable {
+ mActivityTestRule.runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ mCompositorView = new CompositorView(mActivityTestRule.getActivity(), mRenderHost);
+ mCompositorView.setVisibility(View.VISIBLE);
+ Assert.assertEquals(View.VISIBLE, mCompositorView.getChildAt(0).getVisibility());
+ mCompositorView.setVisibility(View.INVISIBLE);
+ Assert.assertEquals(View.INVISIBLE, mCompositorView.getChildAt(0).getVisibility());
+ }
+ });
}
// The surfaceview should be attached during construction, so that the application window knows
// to set the blending hint correctly on the surface. Otherwise, it will have to setFormat()
// when the SurfaceView is attached to the CompositorView, which causes visual artifacts when
// the surface is torn down and re-created (crbug.com/704866).
+ @Test
@SmallTest
- @UiThreadTest
- public void testSurfaceViewIsAttachedImmediately() {
- mCompositorView = new CompositorView(getActivity(), mRenderHost);
- assertEquals(mCompositorView.getChildCount(), 1);
- assertTrue(mCompositorView.getChildAt(0) instanceof SurfaceView);
+ public void testSurfaceViewIsAttachedImmediately() throws Throwable {
+ mActivityTestRule.runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ mCompositorView = new CompositorView(mActivityTestRule.getActivity(), mRenderHost);
+ Assert.assertEquals(mCompositorView.getChildCount(), 1);
+ Assert.assertTrue(mCompositorView.getChildAt(0) instanceof SurfaceView);
+ }
+ });
}
}
« no previous file with comments | « chrome/android/javatests/src/org/chromium/chrome/browser/ChromeActivityTest.java ('k') | chrome/test/android/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698