78 lines
2.4 KiB
Dart
78 lines
2.4 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:melo/player/now_playing_screen.dart';
|
|
|
|
void main() {
|
|
// WanderndesCover.build() liefert ein Positioned zurück (siehe
|
|
// now_playing_screen.dart) — Positioned braucht laut Flutter zwingend
|
|
// einen Stack als Vorfahren, sonst wirft es "Incorrect use of
|
|
// ParentDataWidget" (per Testlauf verifiziert). Genau so wird es auch in
|
|
// main.dart verwendet (direkt als Kind des HomeShell-Stacks), deshalb hier
|
|
// ebenfalls in einen Stack gebettet statt direkt als Scaffold.body.
|
|
testWidgets('Rect bei progress=0 entspricht dem Mini-Player-Rechteck',
|
|
(tester) async {
|
|
await tester.pumpWidget(MaterialApp(
|
|
home: Scaffold(
|
|
body: Stack(
|
|
children: [
|
|
WanderndesCover(
|
|
progress: 0,
|
|
artUri: null,
|
|
miniRect: const Rect.fromLTWH(0, 700, 400, 52),
|
|
vollbildRect: const Rect.fromLTWH(0, 0, 400, 800),
|
|
),
|
|
],
|
|
),
|
|
),
|
|
));
|
|
final box = tester.getRect(find.byType(WanderndesCover));
|
|
expect(box, const Rect.fromLTWH(0, 700, 400, 52));
|
|
});
|
|
|
|
testWidgets('Rect bei progress=1 entspricht dem Vollbild-Rechteck',
|
|
(tester) async {
|
|
await tester.pumpWidget(MaterialApp(
|
|
home: Scaffold(
|
|
body: Stack(
|
|
children: [
|
|
WanderndesCover(
|
|
progress: 1,
|
|
artUri: null,
|
|
miniRect: const Rect.fromLTWH(0, 700, 400, 52),
|
|
vollbildRect: const Rect.fromLTWH(0, 0, 400, 800),
|
|
),
|
|
],
|
|
),
|
|
),
|
|
));
|
|
final box = tester.getRect(find.byType(WanderndesCover));
|
|
expect(box, const Rect.fromLTWH(0, 0, 400, 800));
|
|
});
|
|
|
|
testWidgets('Rect bei progress=0.5 liegt in der Mitte', (tester) async {
|
|
await tester.pumpWidget(MaterialApp(
|
|
home: Scaffold(
|
|
body: Stack(
|
|
children: [
|
|
WanderndesCover(
|
|
progress: 0.5,
|
|
artUri: null,
|
|
miniRect: const Rect.fromLTWH(0, 700, 400, 52),
|
|
vollbildRect: const Rect.fromLTWH(0, 0, 400, 800),
|
|
),
|
|
],
|
|
),
|
|
),
|
|
));
|
|
final box = tester.getRect(find.byType(WanderndesCover));
|
|
expect(
|
|
box,
|
|
Rect.lerp(
|
|
const Rect.fromLTWH(0, 700, 400, 52),
|
|
const Rect.fromLTWH(0, 0, 400, 800),
|
|
0.5,
|
|
),
|
|
);
|
|
});
|
|
}
|