@@ -16,7 +16,7 @@ import 'package:video_player_platform_interface/video_player_platform_interface.
1616
1717class FakeController extends ValueNotifier <VideoPlayerValue >
1818 implements VideoPlayerController {
19- FakeController () : super (VideoPlayerValue (duration: Duration .zero));
19+ FakeController () : super (const VideoPlayerValue (duration: Duration .zero));
2020
2121 FakeController .value (super .value);
2222
@@ -164,7 +164,8 @@ void main() {
164164 testWidgets ('non-zero rotationCorrection value is used' ,
165165 (WidgetTester tester) async {
166166 final FakeController controller = FakeController .value (
167- VideoPlayerValue (duration: Duration .zero, rotationCorrection: 180 ));
167+ const VideoPlayerValue (
168+ duration: Duration .zero, rotationCorrection: 180 ));
168169 controller.textureId = 1 ;
169170 await tester.pumpWidget (VideoPlayer (controller));
170171 final Transform actualRotationCorrection =
@@ -184,7 +185,7 @@ void main() {
184185 testWidgets ('no transform when rotationCorrection is zero' ,
185186 (WidgetTester tester) async {
186187 final FakeController controller =
187- FakeController .value (VideoPlayerValue (duration: Duration .zero));
188+ FakeController .value (const VideoPlayerValue (duration: Duration .zero));
188189 controller.textureId = 1 ;
189190 await tester.pumpWidget (VideoPlayer (controller));
190191 expect (find.byType (Transform ), findsNothing);
@@ -803,6 +804,30 @@ void main() {
803804 expect (controller.value.position, nonzeroDuration);
804805 });
805806
807+ testWidgets ('playback status' , (WidgetTester tester) async {
808+ final VideoPlayerController controller = VideoPlayerController .network (
809+ 'https://127.0.0.1' ,
810+ );
811+ await controller.initialize ();
812+ expect (controller.value.isPlaying, isFalse);
813+ final StreamController <VideoEvent > fakeVideoEventStream =
814+ fakeVideoPlayerPlatform.streams[controller.textureId]! ;
815+
816+ fakeVideoEventStream.add (VideoEvent (
817+ eventType: VideoEventType .isPlayingStateUpdate,
818+ isPlaying: true ,
819+ ));
820+ await tester.pumpAndSettle ();
821+ expect (controller.value.isPlaying, isTrue);
822+
823+ fakeVideoEventStream.add (VideoEvent (
824+ eventType: VideoEventType .isPlayingStateUpdate,
825+ isPlaying: false ,
826+ ));
827+ await tester.pumpAndSettle ();
828+ expect (controller.value.isPlaying, isFalse);
829+ });
830+
806831 testWidgets ('buffering status' , (WidgetTester tester) async {
807832 final VideoPlayerController controller = VideoPlayerController .network (
808833 'https://127.0.0.1' ,
@@ -865,7 +890,7 @@ void main() {
865890
866891 group ('VideoPlayerValue' , () {
867892 test ('uninitialized()' , () {
868- final VideoPlayerValue uninitialized = VideoPlayerValue .uninitialized ();
893+ const VideoPlayerValue uninitialized = VideoPlayerValue .uninitialized ();
869894
870895 expect (uninitialized.duration, equals (Duration .zero));
871896 expect (uninitialized.position, equals (Duration .zero));
@@ -886,7 +911,7 @@ void main() {
886911
887912 test ('erroneous()' , () {
888913 const String errorMessage = 'foo' ;
889- final VideoPlayerValue error = VideoPlayerValue .erroneous (errorMessage);
914+ const VideoPlayerValue error = VideoPlayerValue .erroneous (errorMessage);
890915
891916 expect (error.duration, equals (Duration .zero));
892917 expect (error.position, equals (Duration .zero));
@@ -956,26 +981,26 @@ void main() {
956981
957982 group ('copyWith()' , () {
958983 test ('exact copy' , () {
959- final VideoPlayerValue original = VideoPlayerValue .uninitialized ();
984+ const VideoPlayerValue original = VideoPlayerValue .uninitialized ();
960985 final VideoPlayerValue exactCopy = original.copyWith ();
961986
962987 expect (exactCopy.toString (), original.toString ());
963988 });
964989 test ('errorDescription is not persisted when copy with null' , () {
965- final VideoPlayerValue original = VideoPlayerValue .erroneous ('error' );
990+ const VideoPlayerValue original = VideoPlayerValue .erroneous ('error' );
966991 final VideoPlayerValue copy = original.copyWith (errorDescription: null );
967992
968993 expect (copy.errorDescription, null );
969994 });
970995 test ('errorDescription is changed when copy with another error' , () {
971- final VideoPlayerValue original = VideoPlayerValue .erroneous ('error' );
996+ const VideoPlayerValue original = VideoPlayerValue .erroneous ('error' );
972997 final VideoPlayerValue copy =
973998 original.copyWith (errorDescription: 'new error' );
974999
9751000 expect (copy.errorDescription, 'new error' );
9761001 });
9771002 test ('errorDescription is changed when copy with error' , () {
978- final VideoPlayerValue original = VideoPlayerValue .uninitialized ();
1003+ const VideoPlayerValue original = VideoPlayerValue .uninitialized ();
9791004 final VideoPlayerValue copy =
9801005 original.copyWith (errorDescription: 'new error' );
9811006
@@ -985,45 +1010,45 @@ void main() {
9851010
9861011 group ('aspectRatio' , () {
9871012 test ('640x480 -> 4:3' , () {
988- final VideoPlayerValue value = VideoPlayerValue (
1013+ const VideoPlayerValue value = VideoPlayerValue (
9891014 isInitialized: true ,
990- size: const Size (640 , 480 ),
991- duration: const Duration (seconds: 1 ),
1015+ size: Size (640 , 480 ),
1016+ duration: Duration (seconds: 1 ),
9921017 );
9931018 expect (value.aspectRatio, 4 / 3 );
9941019 });
9951020
9961021 test ('no size -> 1.0' , () {
997- final VideoPlayerValue value = VideoPlayerValue (
1022+ const VideoPlayerValue value = VideoPlayerValue (
9981023 isInitialized: true ,
999- duration: const Duration (seconds: 1 ),
1024+ duration: Duration (seconds: 1 ),
10001025 );
10011026 expect (value.aspectRatio, 1.0 );
10021027 });
10031028
10041029 test ('height = 0 -> 1.0' , () {
1005- final VideoPlayerValue value = VideoPlayerValue (
1030+ const VideoPlayerValue value = VideoPlayerValue (
10061031 isInitialized: true ,
1007- size: const Size (640 , 0 ),
1008- duration: const Duration (seconds: 1 ),
1032+ size: Size (640 , 0 ),
1033+ duration: Duration (seconds: 1 ),
10091034 );
10101035 expect (value.aspectRatio, 1.0 );
10111036 });
10121037
10131038 test ('width = 0 -> 1.0' , () {
1014- final VideoPlayerValue value = VideoPlayerValue (
1039+ const VideoPlayerValue value = VideoPlayerValue (
10151040 isInitialized: true ,
1016- size: const Size (0 , 480 ),
1017- duration: const Duration (seconds: 1 ),
1041+ size: Size (0 , 480 ),
1042+ duration: Duration (seconds: 1 ),
10181043 );
10191044 expect (value.aspectRatio, 1.0 );
10201045 });
10211046
10221047 test ('negative aspect ratio -> 1.0' , () {
1023- final VideoPlayerValue value = VideoPlayerValue (
1048+ const VideoPlayerValue value = VideoPlayerValue (
10241049 isInitialized: true ,
1025- size: const Size (640 , - 480 ),
1026- duration: const Duration (seconds: 1 ),
1050+ size: Size (640 , - 480 ),
1051+ duration: Duration (seconds: 1 ),
10271052 );
10281053 expect (value.aspectRatio, 1.0 );
10291054 });
0 commit comments