Skip to content

Commit f10054c

Browse files
committed
add small test for verification
1 parent b02e415 commit f10054c

File tree

1 file changed

+114
-0
lines changed

1 file changed

+114
-0
lines changed
Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
import 'package:chewie/chewie.dart';
2+
import 'package:chewie/src/center_play_button.dart';
3+
import 'package:flutter/material.dart';
4+
import 'package:flutter_test/flutter_test.dart';
5+
import 'package:video_player/video_player.dart';
6+
7+
List<String> srcs = [
8+
"https://assets.mixkit.co/videos/preview/mixkit-spinning-around-the-earth-29351-large.mp4",
9+
"https://assets.mixkit.co/videos/preview/mixkit-daytime-city-traffic-aerial-view-56-large.mp4",
10+
"https://assets.mixkit.co/videos/preview/mixkit-a-girl-blowing-a-bubble-gum-at-an-amusement-park-1226-large.mp4"
11+
];
12+
13+
main() {
14+
testWidgets("MaterialControls state test", (WidgetTester tester) async {
15+
// Build our app and trigger a frame.
16+
var videoPlayerController = VideoPlayerController.networkUrl(
17+
Uri.parse(srcs[0]),
18+
);
19+
var materialControlsKey = GlobalKey();
20+
var chewieController = ChewieController(
21+
videoPlayerController: videoPlayerController,
22+
autoPlay: false,
23+
looping: false,
24+
customControls: MaterialControls(
25+
key: materialControlsKey,
26+
),
27+
);
28+
await tester.pumpWidget(
29+
MaterialApp(
30+
home: Scaffold(
31+
body: Chewie(
32+
controller: chewieController,
33+
),
34+
),
35+
),
36+
);
37+
38+
await tester.pump();
39+
40+
var playButton = find.byType(CenterPlayButton);
41+
expect(playButton, findsOneWidget);
42+
var btn = playButton.first;
43+
var playButtonWidget = tester.widget<CenterPlayButton>(btn);
44+
expect(playButtonWidget.isFinished, false);
45+
});
46+
47+
testWidgets("CupertinoControls state test", (WidgetTester tester) async {
48+
// Build our app and trigger a frame.
49+
var videoPlayerController = VideoPlayerController.networkUrl(
50+
Uri.parse(srcs[0]),
51+
);
52+
var materialControlsKey = GlobalKey();
53+
var chewieController = ChewieController(
54+
videoPlayerController: videoPlayerController,
55+
autoPlay: false,
56+
looping: false,
57+
customControls: CupertinoControls(
58+
key: materialControlsKey,
59+
backgroundColor: Colors.black,
60+
iconColor: Colors.white,
61+
),
62+
);
63+
await tester.pumpWidget(
64+
MaterialApp(
65+
home: Scaffold(
66+
body: Chewie(
67+
controller: chewieController,
68+
),
69+
),
70+
),
71+
);
72+
73+
await tester.pump();
74+
75+
var playButton = find.byType(CenterPlayButton);
76+
expect(playButton, findsOneWidget);
77+
var btn = playButton.first;
78+
var playButtonWidget = tester.widget<CenterPlayButton>(btn);
79+
expect(playButtonWidget.isFinished, false);
80+
});
81+
82+
testWidgets("MaterialDesktopControls state test", (WidgetTester tester) async {
83+
// Build our app and trigger a frame.
84+
var videoPlayerController = VideoPlayerController.networkUrl(
85+
Uri.parse(srcs[0]),
86+
);
87+
var materialControlsKey = GlobalKey();
88+
var chewieController = ChewieController(
89+
videoPlayerController: videoPlayerController,
90+
autoPlay: false,
91+
looping: false,
92+
customControls: MaterialDesktopControls(
93+
key: materialControlsKey,
94+
),
95+
);
96+
await tester.pumpWidget(
97+
MaterialApp(
98+
home: Scaffold(
99+
body: Chewie(
100+
controller: chewieController,
101+
),
102+
),
103+
),
104+
);
105+
106+
await tester.pump();
107+
108+
var playButton = find.byType(CenterPlayButton);
109+
expect(playButton, findsOneWidget);
110+
var btn = playButton.first;
111+
var playButtonWidget = tester.widget<CenterPlayButton>(btn);
112+
expect(playButtonWidget.isFinished, false);
113+
});
114+
}

0 commit comments

Comments
 (0)