Flutter Engine
The Flutter Engine
PlatformViewWithSurfaceViewHybridUiTest.java
Go to the documentation of this file.
1// Copyright 2013 The Flutter Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5package dev.flutter.scenariosui;
6
7import android.content.Intent;
8import androidx.annotation.NonNull;
9import androidx.test.ext.junit.runners.AndroidJUnit4;
10import androidx.test.filters.LargeTest;
11import androidx.test.rule.ActivityTestRule;
12import dev.flutter.scenarios.PlatformViewsActivity;
13import org.junit.Before;
14import org.junit.Rule;
15import org.junit.Test;
16import org.junit.runner.RunWith;
17
18@RunWith(AndroidJUnit4.class)
19@LargeTest
21 Intent intent;
22
23 @Rule @NonNull
24 public ActivityTestRule<PlatformViewsActivity> activityRule =
25 new ActivityTestRule<>(
26 PlatformViewsActivity.class, /*initialTouchMode=*/ false, /*launchActivity=*/ false);
27
28 private static String goldName(String suffix) {
29 return "PlatformViewWithSurfaceViewHybridUiTest_" + suffix;
30 }
31
32 @Before
33 public void setUp() {
34 intent = new Intent(Intent.ACTION_MAIN);
35 intent.putExtra("use_android_view", true);
36 intent.putExtra("view_type", PlatformViewsActivity.SURFACE_VIEW_PV);
37 }
38
39 @Test
40 public void testPlatformView() throws Exception {
41 intent.putExtra("scenario_name", "platform_view");
42 ScreenshotUtil.capture(activityRule.launchActivity(intent), goldName("testPlatformView"));
43 }
44}
static void capture(@NonNull TestableFlutterActivity activity, @NonNull String captureName)