|
1 | 1 | package io.flutter.plugin.platform;
|
2 | 2 |
|
3 | 3 | import static org.junit.Assert.assertTrue;
|
| 4 | +import static org.junit.Assert.assertFalse; |
4 | 5 | import static org.mockito.Mockito.mock;
|
5 |
| -import static org.mockito.Mockito.spy; |
6 | 6 | import static org.mockito.Mockito.verify;
|
7 | 7 | import static org.mockito.Mockito.when;
|
8 | 8 |
|
|
14 | 14 | import io.flutter.embedding.engine.FlutterJNI;
|
15 | 15 | import io.flutter.embedding.engine.dart.DartExecutor;
|
16 | 16 | import io.flutter.embedding.engine.systemchannels.PlatformChannel;
|
17 |
| -import io.flutter.embedding.engine.systemchannels.TextInputChannel; |
18 | 17 | import io.flutter.plugin.common.MethodCall;
|
19 | 18 | import io.flutter.plugin.common.MethodChannel;
|
20 |
| -import java.util.HashMap; |
21 |
| -import java.util.Map; |
22 | 19 | import org.json.JSONException;
|
23 | 20 | import org.json.JSONObject;
|
24 | 21 | import org.junit.Test;
|
25 | 22 | import org.junit.runner.RunWith;
|
26 |
| -import org.mockito.ArgumentCaptor; |
27 | 23 | import org.mockito.Matchers;
|
28 | 24 | import org.robolectric.RobolectricTestRunner;
|
29 | 25 | import org.robolectric.RuntimeEnvironment;
|
30 | 26 | import org.robolectric.annotation.Config;
|
| 27 | +import org.robolectric.shadows.ShadowClipboardManager; |
31 | 28 |
|
32 |
| -@Config(manifest = Config.NONE) |
| 29 | +@Config(manifest = Config.NONE, shadows = ShadowClipboardManager.class) |
33 | 30 | @RunWith(RobolectricTestRunner.class)
|
34 | 31 | public class PlatformPluginTest {
|
35 | 32 | @Config(sdk = 16)
|
@@ -71,4 +68,23 @@ public void platformPlugin_hasStringsMessage() {
|
71 | 68 | }
|
72 | 69 | verify(mockResult).success(Matchers.refEq(expected));
|
73 | 70 | }
|
| 71 | + |
| 72 | + @Test |
| 73 | + public void platformPlugin_hasStrings() { |
| 74 | + View fakeDecorView = mock(View.class); |
| 75 | + Window fakeWindow = mock(Window.class); |
| 76 | + when(fakeWindow.getDecorView()).thenReturn(fakeDecorView); |
| 77 | + Activity fakeActivity = mock(Activity.class); |
| 78 | + when(fakeActivity.getWindow()).thenReturn(fakeWindow); |
| 79 | + PlatformChannel fakePlatformChannel = mock(PlatformChannel.class); |
| 80 | + PlatformPlugin platformPlugin = new PlatformPlugin(fakeActivity, fakePlatformChannel); |
| 81 | + |
| 82 | + ClipboardManager clipboardManager = |
| 83 | + RuntimeEnvironment.application.getSystemService(ClipboardManager.class); |
| 84 | + clipboardManager.setText("iamastring"); |
| 85 | + assertTrue(platformPlugin.mPlatformMessageHandler.clipboardHasStrings()); |
| 86 | + |
| 87 | + clipboardManager.setText(""); |
| 88 | + assertFalse(platformPlugin.mPlatformMessageHandler.clipboardHasStrings()); |
| 89 | + } |
74 | 90 | }
|
0 commit comments