Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
110 changes: 52 additions & 58 deletions packages/video_player/example/integration_test/video_player_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart' show rootBundle;
import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_tizen/flutter_tizen.dart';
import 'package:integration_test/integration_test.dart';
import 'package:path_provider/path_provider.dart';
import 'package:video_player/video_player.dart';
Expand Down Expand Up @@ -319,70 +318,65 @@ void main() {

// Audio playback is tested to prevent accidental regression,
// but could be removed in the future.
group(
'asset audios',
() {
setUp(() {
controller = VideoPlayerController.asset('assets/Audio.mp3');
});

testWidgets('can be initialized', (WidgetTester tester) async {
await controller.initialize();
group('asset audios', () {
setUp(() {
controller = VideoPlayerController.asset('assets/Audio.mp3');
});

expect(controller.value.isInitialized, true);
expect(controller.value.position, Duration.zero);
expect(controller.value.isPlaying, false);
// Due to the duration calculation accuracy between platforms,
// the milliseconds on Web will be a slightly different from natives.
// The audio was made with 44100 Hz, 192 Kbps CBR, and 32 bits.
expect(
controller.value.duration,
const Duration(seconds: 5, milliseconds: kIsWeb ? 42 : 41),
);
});
testWidgets('can be initialized', (WidgetTester tester) async {
await controller.initialize();

testWidgets('can be played', (WidgetTester tester) async {
await controller.initialize();
// Mute to allow playing without DOM interaction on Web.
// See https://developers.google.com/web/updates/2017/09/autoplay-policy-changes
await controller.setVolume(0);
expect(controller.value.isInitialized, true);
expect(controller.value.position, Duration.zero);
expect(controller.value.isPlaying, false);
// Due to the duration calculation accuracy between platforms,
// the milliseconds on Web will be a slightly different from natives.
// The audio was made with 44100 Hz, 192 Kbps CBR, and 32 bits.
expect(
controller.value.duration,
const Duration(seconds: 5, milliseconds: kIsWeb ? 42 : 41),
);
});

await controller.play();
await tester.pumpAndSettle(_playDuration);
testWidgets('can be played', (WidgetTester tester) async {
await controller.initialize();
// Mute to allow playing without DOM interaction on Web.
// See https://developers.google.com/web/updates/2017/09/autoplay-policy-changes
await controller.setVolume(0);

expect(controller.value.isPlaying, true);
expect(
controller.value.position,
(Duration position) => position > Duration.zero,
);
});
await controller.play();
await tester.pumpAndSettle(_playDuration);

testWidgets('can seek', (WidgetTester tester) async {
await controller.initialize();
await controller.seekTo(const Duration(seconds: 3));
expect(controller.value.isPlaying, true);
expect(
controller.value.position,
(Duration position) => position > Duration.zero,
);
});

expect(controller.value.position, const Duration(seconds: 3));
});
testWidgets('can seek', (WidgetTester tester) async {
await controller.initialize();
await controller.seekTo(const Duration(seconds: 3));

testWidgets('can be paused', (WidgetTester tester) async {
await controller.initialize();
// Mute to allow playing without DOM interaction on Web.
// See https://developers.google.com/web/updates/2017/09/autoplay-policy-changes
await controller.setVolume(0);
expect(controller.value.position, const Duration(seconds: 3));
});

// Play for a second, then pause, and then wait a second.
await controller.play();
await tester.pumpAndSettle(_playDuration);
await controller.pause();
final Duration pausedPosition = controller.value.position;
await tester.pumpAndSettle(_playDuration);
testWidgets('can be paused', (WidgetTester tester) async {
await controller.initialize();
// Mute to allow playing without DOM interaction on Web.
// See https://developers.google.com/web/updates/2017/09/autoplay-policy-changes
await controller.setVolume(0);

// Verify that we stopped playing after the pause.
expect(controller.value.isPlaying, false);
expect(controller.value.position, pausedPosition);
});
},
// NOTE(seungsoo47): Unknown errors sometimes occur in RPI.
skip: isTizenProfile,
);
// Play for a second, then pause, and then wait a second.
await controller.play();
await tester.pumpAndSettle(_playDuration);
await controller.pause();
final Duration pausedPosition = controller.value.position;
await tester.pumpAndSettle(_playDuration);

// Verify that we stopped playing after the pause.
expect(controller.value.isPlaying, false);
expect(controller.value.position, pausedPosition);
});
});
}
1 change: 0 additions & 1 deletion packages/video_player/example/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ dev_dependencies:
sdk: flutter
flutter_test:
sdk: flutter
flutter_tizen: ^0.2.5
integration_test:
sdk: flutter
integration_test_tizen:
Expand Down