Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit e78ac76

Browse files
committed
Add tests
1 parent 99c7c3b commit e78ac76

File tree

3 files changed

+63
-0
lines changed

3 files changed

+63
-0
lines changed

shell/platform/android/test/io/flutter/FlutterTestSuite.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import io.flutter.embedding.engine.loader.ApplicationInfoLoaderTest;
2525
import io.flutter.embedding.engine.loader.FlutterLoaderTest;
2626
import io.flutter.embedding.engine.mutatorsstack.FlutterMutatorViewTest;
27+
import io.flutter.embedding.engine.mutatorsstack.FlutterMutatorsStackTest;
2728
import io.flutter.embedding.engine.plugins.shim.ShimPluginRegistryTest;
2829
import io.flutter.embedding.engine.renderer.FlutterRendererTest;
2930
import io.flutter.embedding.engine.systemchannels.DeferredComponentChannelTest;
@@ -73,6 +74,7 @@
7374
FlutterJNITest.class,
7475
FlutterLaunchTests.class,
7576
FlutterLoaderTest.class,
77+
FlutterMutatorsStackTest.class,
7678
FlutterMutatorViewTest.class,
7779
FlutterShellArgsTest.class,
7880
FlutterRendererTest.class,

shell/platform/android/test/io/flutter/embedding/engine/mutatorsstack/FlutterMutatorViewTest.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
package io.flutter.embedding.engine.mutatorsstack;
22

3+
import static android.view.View.LAYER_TYPE_HARDWARE;
34
import static android.view.View.OnFocusChangeListener;
45
import static junit.framework.TestCase.*;
56
import static org.mockito.Mockito.*;
67

8+
import android.graphics.Canvas;
79
import android.graphics.Matrix;
10+
import android.graphics.Paint;
811
import android.view.MotionEvent;
912
import android.view.View;
1013
import android.view.ViewGroup;
@@ -250,4 +253,20 @@ public ViewTreeObserver getViewTreeObserver() {
250253
view.unsetOnDescendantFocusChangeListener();
251254
verify(viewTreeObserver, times(1)).removeOnGlobalFocusChangeListener(activeFocusListener);
252255
}
256+
257+
@Test
258+
public void draw_opacityApplied() {
259+
final FlutterMutatorView view = new FlutterMutatorView(RuntimeEnvironment.systemContext);
260+
final FlutterMutatorView spy = spy(view);
261+
262+
final FlutterMutatorsStack mutatorsStack = new FlutterMutatorsStack();
263+
mutatorsStack.pushOpacity(.3f);
264+
265+
spy.readyToDisplay(mutatorsStack, /*left=*/ 1, /*top=*/ 2, /*width=*/ 0, /*height=*/ 0);
266+
spy.draw(new Canvas());
267+
verify(spy)
268+
.setLayerType(
269+
intThat((Integer layerType) -> layerType == LAYER_TYPE_HARDWARE),
270+
argThat((Paint paint) -> paint.getAlpha() == (int) (.3f * 255)));
271+
}
253272
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
package io.flutter.embedding.engine.mutatorsstack;
2+
3+
import static org.junit.Assert.assertEquals;
4+
5+
import org.junit.Test;
6+
import org.junit.runner.RunWith;
7+
import org.robolectric.RobolectricTestRunner;
8+
import org.robolectric.annotation.Config;
9+
10+
@Config(manifest = Config.NONE)
11+
@RunWith(RobolectricTestRunner.class)
12+
public class FlutterMutatorsStackTest {
13+
14+
@Test
15+
public void pushOpacity() {
16+
final FlutterMutatorsStack mutatorsStack = new FlutterMutatorsStack();
17+
mutatorsStack.pushOpacity(.5f);
18+
19+
assertEquals(mutatorsStack.getMutators().size(), 1);
20+
assertEquals(
21+
mutatorsStack.getMutators().get(0).getType(),
22+
FlutterMutatorsStack.FlutterMutatorType.OPACITY);
23+
assertEquals(mutatorsStack.getMutators().get(0).getOpacity(), .5f, 0f);
24+
}
25+
26+
@Test
27+
public void defaultOpacity() {
28+
final FlutterMutatorsStack mutatorsStack = new FlutterMutatorsStack();
29+
30+
assertEquals(1f, mutatorsStack.getFinalOpacity(), 0f);
31+
}
32+
33+
@Test
34+
public void layeredOpacity() {
35+
final FlutterMutatorsStack mutatorsStack = new FlutterMutatorsStack();
36+
mutatorsStack.pushOpacity(.5f);
37+
mutatorsStack.pushOpacity(.6f);
38+
mutatorsStack.pushOpacity(1f);
39+
40+
assertEquals(.3f, mutatorsStack.getFinalOpacity(), 1 / 255);
41+
}
42+
}

0 commit comments

Comments
 (0)