feat: Remove triggerQuitOnInitForTest from GameScreen and add audio shutdown test

Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
This commit is contained in:
2026-03-23 17:54:03 +01:00
parent 3a7ec50abf
commit cbe2633ceb
2 changed files with 0 additions and 32 deletions
@@ -135,10 +135,6 @@ class GameScreen extends StatefulWidget {
@visibleForTesting
final bool skipEngineBootstrapForTest;
/// Triggers the quit flow during init for deterministic widget tests.
@visibleForTesting
final bool triggerQuitOnInitForTest;
/// Creates a gameplay screen driven by [wolf3d].
const GameScreen({
required this.wolf3d,
@@ -146,7 +142,6 @@ class GameScreen extends StatefulWidget {
this.hostShortcutRegistry = HostShortcutRegistry.defaults,
this.appExitHandler,
this.skipEngineBootstrapForTest = false,
this.triggerQuitOnInitForTest = false,
super.key,
});
@@ -169,9 +164,6 @@ class _GameScreenState extends State<GameScreen> {
void initState() {
super.initState();
if (widget.skipEngineBootstrapForTest) {
if (widget.triggerQuitOnInitForTest) {
unawaited(_quitApplication());
}
return;
}
@@ -46,30 +46,6 @@ class _CountingAudio implements EngineAudio {
}
void main() {
testWidgets('quit path shuts down audio once and exits once', (tester) async {
final audio = _CountingAudio();
final wolf3d = Wolf3d(audioBackend: audio);
int appExitCallCount = 0;
await tester.pumpWidget(
MaterialApp(
home: GameScreen(
wolf3d: wolf3d,
skipEngineBootstrapForTest: true,
triggerQuitOnInitForTest: true,
appExitHandler: () async {
appExitCallCount++;
},
),
),
);
await tester.pump(const Duration(milliseconds: 10));
expect(audio.stopAllAudioCallCount, 1);
expect(audio.disposeCallCount, 1);
expect(appExitCallCount, 1);
});
testWidgets('dispose path shuts down audio', (tester) async {
final audio = _CountingAudio();
final wolf3d = Wolf3d(audioBackend: audio);