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

Side by Side Diff: chrome/android/javatests/src/org/chromium/chrome/browser/compositor/layouts/ChromeAnimationTest.java

Issue 2760153002: Convert chrome compositor test's InstrumentationTestCases (Closed)
Patch Set: Address comments Created 3 years, 9 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.chrome.browser.compositor.layouts; 5 package org.chromium.chrome.browser.compositor.layouts;
6 6
7 import static org.chromium.chrome.browser.compositor.layouts.ChromeAnimation.Ani matableAnimation.createAnimation; 7 import static org.chromium.chrome.browser.compositor.layouts.ChromeAnimation.Ani matableAnimation.createAnimation;
8 8
9 import android.os.SystemClock; 9 import android.os.SystemClock;
10 import android.support.test.filters.SmallTest; 10 import android.support.test.filters.SmallTest;
11 import android.test.InstrumentationTestCase; 11
12 import org.junit.Assert;
13 import org.junit.Before;
14 import org.junit.Test;
15 import org.junit.runner.RunWith;
12 16
13 import org.chromium.base.test.util.Feature; 17 import org.chromium.base.test.util.Feature;
14 import org.chromium.chrome.browser.compositor.layouts.ChromeAnimation.Animatable ; 18 import org.chromium.chrome.browser.compositor.layouts.ChromeAnimation.Animatable ;
19 import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
15 20
16 /** 21 /**
17 * Unit tests for {@link org.chromium.chrome.browser.compositor.layouts.ChromeAn imation}. 22 * Unit tests for {@link org.chromium.chrome.browser.compositor.layouts.ChromeAn imation}.
18 */ 23 */
19 public class ChromeAnimationTest extends InstrumentationTestCase 24 @RunWith(ChromeJUnit4ClassRunner.class)
20 implements Animatable<ChromeAnimationTest.Property> { 25 public class ChromeAnimationTest implements Animatable<ChromeAnimationTest.Prope rty> {
21
22 protected enum Property { 26 protected enum Property {
23 FAST_ANIMATION, 27 FAST_ANIMATION,
24 SLOW_ANIMATION 28 SLOW_ANIMATION
25 } 29 }
26 30
27 private static final long FAST_DURATION = 100; 31 private static final long FAST_DURATION = 100;
28 private static final long SLOW_DURATION = 1000; 32 private static final long SLOW_DURATION = 1000;
29 33
30 private ChromeAnimation<Animatable<?>> mAnimations; 34 private ChromeAnimation<Animatable<?>> mAnimations;
31 35
32 private boolean mHasFinishedFastAnimation; 36 private boolean mHasFinishedFastAnimation;
33 private boolean mHasFinishedSlowAnimation; 37 private boolean mHasFinishedSlowAnimation;
34 38
35 @Override 39 @Before
36 protected void setUp() throws Exception { 40 public void setUp() throws Exception {
37 super.setUp();
38
39 mHasFinishedFastAnimation = false; 41 mHasFinishedFastAnimation = false;
40 mHasFinishedSlowAnimation = false; 42 mHasFinishedSlowAnimation = false;
41 } 43 }
42 44
43 @Override 45 @Override
44 public void setProperty(Property prop, float val) {} 46 public void setProperty(Property prop, float val) {}
45 47
46 @Override 48 @Override
47 public void onPropertyAnimationFinished(Property prop) { 49 public void onPropertyAnimationFinished(Property prop) {
48 if (prop == Property.FAST_ANIMATION) { 50 if (prop == Property.FAST_ANIMATION) {
(...skipping 30 matching lines...) Expand all
79 */ 81 */
80 private void addToAnimation(ChromeAnimation.Animation<Animatable<?>> compone nt) { 82 private void addToAnimation(ChromeAnimation.Animation<Animatable<?>> compone nt) {
81 if (mAnimations == null || mAnimations.finished()) { 83 if (mAnimations == null || mAnimations.finished()) {
82 mAnimations = new ChromeAnimation<>(); 84 mAnimations = new ChromeAnimation<>();
83 mAnimations.start(); 85 mAnimations.start();
84 } 86 }
85 component.start(); 87 component.start();
86 mAnimations.add(component); 88 mAnimations.add(component);
87 } 89 }
88 90
91 @Test
89 @SmallTest 92 @SmallTest
90 @Feature({"ContextualSearch"}) 93 @Feature({"ContextualSearch"})
91 public void testConcurrentAnimationsFinishSeparately() { 94 public void testConcurrentAnimationsFinishSeparately() {
92 addToAnimation(this, Property.FAST_ANIMATION, 0.f, 1.f, FAST_DURATION, 0 ); 95 addToAnimation(this, Property.FAST_ANIMATION, 0.f, 1.f, FAST_DURATION, 0 );
93 addToAnimation(this, Property.SLOW_ANIMATION, 0.f, 1.f, SLOW_DURATION, 0 ); 96 addToAnimation(this, Property.SLOW_ANIMATION, 0.f, 1.f, SLOW_DURATION, 0 );
94 97
95 // Update the animation with the current time. This will internally set the initial 98 // Update the animation with the current time. This will internally set the initial
96 // time of the animation to |now|. 99 // time of the animation to |now|.
97 long now = SystemClock.uptimeMillis(); 100 long now = SystemClock.uptimeMillis();
98 mAnimations.update(now); 101 mAnimations.update(now);
99 102
100 // Advances time to check that the fast animation will finish first. 103 // Advances time to check that the fast animation will finish first.
101 mAnimations.update(now + FAST_DURATION); 104 mAnimations.update(now + FAST_DURATION);
102 assertTrue(mHasFinishedFastAnimation); 105 Assert.assertTrue(mHasFinishedFastAnimation);
103 assertFalse(mHasFinishedSlowAnimation); 106 Assert.assertFalse(mHasFinishedSlowAnimation);
104 107
105 // Advances time to check that all animations are finished. 108 // Advances time to check that all animations are finished.
106 mAnimations.update(now + SLOW_DURATION); 109 mAnimations.update(now + SLOW_DURATION);
107 assertTrue(mHasFinishedFastAnimation); 110 Assert.assertTrue(mHasFinishedFastAnimation);
108 assertTrue(mHasFinishedSlowAnimation); 111 Assert.assertTrue(mHasFinishedSlowAnimation);
109 } 112 }
110 } 113 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698