diff --git a/lib/game/game_assets.dart b/lib/game/game_assets.dart index 4d06bd13..4cc8bee5 100644 --- a/lib/game/game_assets.dart +++ b/lib/game/game_assets.dart @@ -58,6 +58,7 @@ extension PinballGameAssetsX on PinballGame { images.load(components.Assets.images.sparky.bumper.c.inactive.keyName), images.load(components.Assets.images.backboard.backboardScores.keyName), images.load(components.Assets.images.backboard.backboardGameOver.keyName), + images.load(components.Assets.images.backboard.display.keyName), images.load(Assets.images.components.background.path), ]; } diff --git a/test/game/components/controlled_plunger_test.dart b/test/game/components/controlled_plunger_test.dart index 02bf7f24..8a722c9b 100644 --- a/test/game/components/controlled_plunger_test.dart +++ b/test/game/components/controlled_plunger_test.dart @@ -1,5 +1,6 @@ import 'dart:collection'; +import 'package:bloc_test/bloc_test.dart'; import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:flame_test/flame_test.dart'; import 'package:flutter/services.dart'; @@ -13,6 +14,22 @@ void main() { TestWidgetsFlutterBinding.ensureInitialized(); final flameTester = FlameTester(EmptyPinballGameTest.new); + final gameOverBlocTester = FlameBlocTester( + gameBuilder: EmptyPinballGameTest.new, + blocBuilder: () { + final bloc = MockGameBloc(); + const state = GameState( + score: 0, + balls: 0, + bonusHistory: [], + activatedBonusLetters: [], + activatedDashNests: {}, + ); + whenListen(bloc, Stream.value(state), initialState: state); + return bloc; + }, + ); + group('PlungerController', () { group('onKeyEvent', () { final downKeys = UnmodifiableListView([ @@ -73,6 +90,20 @@ void main() { }, ); }); + + testRawKeyDownEvents(downKeys, (event) { + gameOverBlocTester.testGameWidget( + 'does nothing when is game over', + setUp: (game, tester) async { + await game.ensureAdd(plunger); + controller.onKeyEvent(event, {}); + }, + verify: (game, tester) async { + expect(plunger.body.linearVelocity.y, isZero); + expect(plunger.body.linearVelocity.x, isZero); + }, + ); + }); }); }); }