fix(player): 放慢随机飘心并验证完整时长

This commit is contained in:
Zhou Weidong committed 2026-10-26 18:24:19 +08:00
1 parent f3dd4a9b5c
commit e7afd316f8
2 files changed
+64 -7

No files matched your search

+30 -1
View File
@@ -21,7 +21,7 @@ void main() {
),
),
);
await tester.pump(const Duration(milliseconds: 400));
await tester.pump(const Duration(milliseconds: 600));
final hearts = find.byIcon(Icons.favorite_rounded);
final count = hearts.evaluate().length;
@@ -53,6 +53,35 @@ void main() {
expect(PlayerDoubleTapHeartBurst.minParticleCount, 4);
expect(PlayerDoubleTapHeartBurst.maxParticleCount, 5);
});
testWidgets('heart burst completes after at least two simulated seconds', (
tester,
) async {
var completed = false;
var elapsedMs = 0;
await tester.pumpWidget(
MaterialApp(
home: Scaffold(
body: PlayerDoubleTapHeartBurst(
burstId: 2,
random: Random(7),
onCompleted: () => completed = true,
),
),
),
);
while (!completed && elapsedMs < 4000) {
await tester.pump(const Duration(milliseconds: 16));
elapsedMs += 16;
}
expect(completed, isTrue);
expect(elapsedMs, greaterThanOrEqualTo(2000));
expect(elapsedMs, lessThanOrEqualTo(2600));
final count = find.byIcon(Icons.favorite_rounded).evaluate().length;
expect(count, inInclusiveRange(4, 5));
});
}
double _size(WidgetTester tester, int index) {