Vollbild-Player: Schließgeste live an progress gekoppelt, symmetrisch zum Öffnen
This commit is contained in:
@@ -98,7 +98,7 @@ void main() {
|
||||
// deshalb direkt in einen eigenen Scaffold gepumpt (Task 5 Step 3), statt
|
||||
// eine Route zu pushen. Der Handler behält den zuvor gestarteten Titel in
|
||||
// seinem mediaItem-Stream, den NowPlayingScreen darüber sofort sieht.
|
||||
Future<void> oeffnePlayer(WidgetTester tester) async {
|
||||
Future<PlayerExpansionController> oeffnePlayer(WidgetTester tester) async {
|
||||
final expansion = PlayerExpansionController(vsync: tester);
|
||||
addTearDown(expansion.dispose);
|
||||
final providers = [
|
||||
@@ -138,6 +138,7 @@ void main() {
|
||||
),
|
||||
);
|
||||
await tester.pumpAndSettle();
|
||||
return expansion;
|
||||
}
|
||||
|
||||
Future<void> raeumeAuf(WidgetTester tester) async {
|
||||
@@ -173,4 +174,25 @@ void main() {
|
||||
|
||||
await raeumeAuf(tester);
|
||||
});
|
||||
|
||||
testWidgets('Ziehen nach unten im Vollbild-Player verringert progress live',
|
||||
(tester) async {
|
||||
// _TestShell (home_shell_expansion_test.dart) hat bewusst keinen echten
|
||||
// MeloAudioHandler-Provider (siehe dortiger Kommentar) — ein echter
|
||||
// NowPlayingScreen bräuchte den aber für context.read<MeloAudioHandler>().
|
||||
// Dieser Test läuft deshalb hier, wo oeffnePlayer() bereits alle nötigen
|
||||
// Provider bereitstellt (Plan Task 8 nennt now_playing_screen_test.dart
|
||||
// selbst als Alternative zu home_shell_expansion_test.dart).
|
||||
final expansion = await oeffnePlayer(tester);
|
||||
expect(expansion.progress, 1.0);
|
||||
|
||||
await tester.drag(find.byType(NowPlayingScreen), const Offset(0, 150));
|
||||
await tester.pump();
|
||||
expect(expansion.progress, lessThan(1.0));
|
||||
|
||||
// dragEnd() (ausgelöst durch tester.drag) startet ein fling() — ohne
|
||||
// pumpAndSettle bliebe dessen Ticker beim Testende aktiv.
|
||||
await tester.pumpAndSettle();
|
||||
await raeumeAuf(tester);
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user