3 Tap-Stellen öffnen den Vollbild-Player jetzt über PlayerExpansionController statt Navigator.push
Zusätzlich test/player/now_playing_heart_test.dart angepasst (Plan-Lücke: nutzt denselben SongZeile-Tap-Pfad, war nicht in Task 3s Datei-Liste erwähnt) — Provider ergänzt, Route für die Layout-Prüfung selbst separat geöffnet, bis Task 5 NowPlayingScreen zu Overlay-Inhalt umbaut.
This commit is contained in:
@@ -12,6 +12,7 @@ import 'package:melo/library/playlist_service.dart';
|
||||
import 'package:melo/library/song_list.dart';
|
||||
import 'package:melo/player/audio_handler.dart';
|
||||
import 'package:melo/player/now_playing_screen.dart';
|
||||
import 'package:melo/player/player_expansion_controller.dart';
|
||||
import 'package:melo/settings/app_settings.dart';
|
||||
import 'package:melo/shared/favorite_button.dart';
|
||||
|
||||
@@ -92,7 +93,19 @@ void main() {
|
||||
// song_list_navigation_test.dart (Tap auf eine SongZeile) — dieser Weg ist
|
||||
// dort nachweislich unproblematisch, im Unterschied zu einem direkten
|
||||
// Aufbau von NowPlayingScreen mit vorab befülltem MediaItem-Stream.
|
||||
//
|
||||
// Seit dem Umbau auf PlayerExpansionController (Plan
|
||||
// 2026-08-29-blur-oeffnen-transition, Task 3) zeigt der Tap allein noch
|
||||
// keine sichtbare Oberfläche — das Overlay-Rendering kommt erst mit
|
||||
// Task 4/5 ("Bekannte Zwischenlücke", siehe Plan). Für die Prüfung von
|
||||
// NowPlayingScreens eigenem Layout (Herz-Position) wird die Route hier
|
||||
// deshalb zusätzlich, unabhängig vom Produktions-Pfad, direkt geöffnet.
|
||||
// Sobald Task 5 NowPlayingScreen zu Overlay-Inhalt umbaut, muss dieser
|
||||
// Test ohnehin überarbeitet werden (Task 5 durchsucht dafür selbst
|
||||
// `test -iname "*now_playing*"`, was diese Datei einschließt).
|
||||
Future<void> oeffnePlayer(WidgetTester tester) async {
|
||||
final expansion = PlayerExpansionController(vsync: tester);
|
||||
addTearDown(expansion.dispose);
|
||||
await tester.pumpWidget(
|
||||
MultiProvider(
|
||||
providers: [
|
||||
@@ -101,6 +114,8 @@ void main() {
|
||||
ChangeNotifierProvider<CategoryService>.value(value: kategorien),
|
||||
ChangeNotifierProvider<PlaylistService>.value(value: playlists),
|
||||
ChangeNotifierProvider<AppSettings>.value(value: einstellungen),
|
||||
ChangeNotifierProvider<PlayerExpansionController>.value(
|
||||
value: expansion),
|
||||
],
|
||||
child: MaterialApp(
|
||||
home: Scaffold(
|
||||
@@ -116,6 +131,12 @@ void main() {
|
||||
|
||||
await tester.tap(find.text('Roses'));
|
||||
await tester.pumpAndSettle();
|
||||
expect(expansion.progress, 1.0);
|
||||
|
||||
Navigator.of(tester.element(find.byType(SongZeile))).push(
|
||||
MaterialPageRoute(builder: (_) => const NowPlayingScreen()),
|
||||
);
|
||||
await tester.pumpAndSettle();
|
||||
}
|
||||
|
||||
Future<void> raeumeAuf(WidgetTester tester) async {
|
||||
|
||||
Reference in New Issue
Block a user