revert: load mobile backgrounds

pull/436/head
Jorge Coca 3 years ago
parent 1e804694ff
commit 105667b195

@ -9,7 +9,6 @@ import 'package:pinball/select_character/select_character.dart';
import 'package:pinball/start_game/start_game.dart'; import 'package:pinball/start_game/start_game.dart';
import 'package:pinball_audio/pinball_audio.dart'; import 'package:pinball_audio/pinball_audio.dart';
import 'package:pinball_ui/pinball_ui.dart'; import 'package:pinball_ui/pinball_ui.dart';
import 'package:platform_helper/platform_helper.dart';
import 'package:share_repository/share_repository.dart'; import 'package:share_repository/share_repository.dart';
class App extends StatelessWidget { class App extends StatelessWidget {
@ -19,19 +18,16 @@ class App extends StatelessWidget {
required LeaderboardRepository leaderboardRepository, required LeaderboardRepository leaderboardRepository,
required ShareRepository shareRepository, required ShareRepository shareRepository,
required PinballAudioPlayer pinballAudioPlayer, required PinballAudioPlayer pinballAudioPlayer,
required PlatformHelper platformHelper,
}) : _authenticationRepository = authenticationRepository, }) : _authenticationRepository = authenticationRepository,
_leaderboardRepository = leaderboardRepository, _leaderboardRepository = leaderboardRepository,
_shareRepository = shareRepository, _shareRepository = shareRepository,
_pinballAudioPlayer = pinballAudioPlayer, _pinballAudioPlayer = pinballAudioPlayer,
_platformHelper = platformHelper,
super(key: key); super(key: key);
final AuthenticationRepository _authenticationRepository; final AuthenticationRepository _authenticationRepository;
final LeaderboardRepository _leaderboardRepository; final LeaderboardRepository _leaderboardRepository;
final ShareRepository _shareRepository; final ShareRepository _shareRepository;
final PinballAudioPlayer _pinballAudioPlayer; final PinballAudioPlayer _pinballAudioPlayer;
final PlatformHelper _platformHelper;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -41,7 +37,6 @@ class App extends StatelessWidget {
RepositoryProvider.value(value: _leaderboardRepository), RepositoryProvider.value(value: _leaderboardRepository),
RepositoryProvider.value(value: _shareRepository), RepositoryProvider.value(value: _shareRepository),
RepositoryProvider.value(value: _pinballAudioPlayer), RepositoryProvider.value(value: _pinballAudioPlayer),
RepositoryProvider.value(value: _platformHelper),
], ],
child: MultiBlocProvider( child: MultiBlocProvider(
providers: [ providers: [

@ -2,8 +2,6 @@ import 'package:flame/components.dart';
import 'package:flame_bloc/flame_bloc.dart'; import 'package:flame_bloc/flame_bloc.dart';
import 'package:pinball/select_character/select_character.dart'; import 'package:pinball/select_character/select_character.dart';
import 'package:pinball_components/pinball_components.dart'; import 'package:pinball_components/pinball_components.dart';
import 'package:pinball_flame/pinball_flame.dart';
import 'package:platform_helper/platform_helper.dart';
/// Updates the [ArcadeBackground] and launch [Ball] to reflect character /// Updates the [ArcadeBackground] and launch [Ball] to reflect character
/// selections. /// selections.
@ -13,14 +11,12 @@ class CharacterSelectionBehavior extends Component
HasGameRef { HasGameRef {
@override @override
void onNewState(CharacterThemeState state) { void onNewState(CharacterThemeState state) {
if (!readProvider<PlatformHelper>().isMobile) {
gameRef gameRef
.descendants() .descendants()
.whereType<ArcadeBackground>() .whereType<ArcadeBackground>()
.single .single
.bloc .bloc
.onCharacterSelected(state.characterTheme); .onCharacterSelected(state.characterTheme);
}
gameRef gameRef
.descendants() .descendants()
.whereType<Ball>() .whereType<Ball>()

@ -27,19 +27,23 @@ class Backbox extends PositionComponent with ZIndex, HasGameRef {
leaderboardRepository: leaderboardRepository, leaderboardRepository: leaderboardRepository,
initialEntries: entries, initialEntries: entries,
), ),
_shareRepository = shareRepository; _shareRepository = shareRepository,
_platformHelper = PlatformHelper();
/// {@macro backbox} /// {@macro backbox}
@visibleForTesting @visibleForTesting
Backbox.test({ Backbox.test({
required BackboxBloc bloc, required BackboxBloc bloc,
required ShareRepository shareRepository, required ShareRepository shareRepository,
required PlatformHelper platformHelper,
}) : _bloc = bloc, }) : _bloc = bloc,
_shareRepository = shareRepository; _shareRepository = shareRepository,
_platformHelper = platformHelper;
final ShareRepository _shareRepository; final ShareRepository _shareRepository;
late final Component _display; late final Component _display;
final BackboxBloc _bloc; final BackboxBloc _bloc;
final PlatformHelper _platformHelper;
late StreamSubscription<BackboxState> _subscription; late StreamSubscription<BackboxState> _subscription;
@override @override
@ -72,7 +76,7 @@ class Backbox extends PositionComponent with ZIndex, HasGameRef {
} else if (state is LeaderboardFailureState) { } else if (state is LeaderboardFailureState) {
_display.add(LeaderboardFailureDisplay()); _display.add(LeaderboardFailureDisplay());
} else if (state is InitialsFormState) { } else if (state is InitialsFormState) {
if (readProvider<PlatformHelper>().isMobile) { if (_platformHelper.isMobile) {
gameRef.overlays.add(PinballGame.mobileControlsOverlay); gameRef.overlays.add(PinballGame.mobileControlsOverlay);
} }
_display.add( _display.add(

@ -12,7 +12,7 @@ extension PinballGameAssetsX on PinballGame {
const androidTheme = AndroidTheme(); const androidTheme = AndroidTheme();
const dinoTheme = DinoTheme(); const dinoTheme = DinoTheme();
final gameAssets = [ return [
images.load(components.Assets.images.boardBackground.keyName), images.load(components.Assets.images.boardBackground.keyName),
images.load(components.Assets.images.ball.flameEffect.keyName), images.load(components.Assets.images.ball.flameEffect.keyName),
images.load(components.Assets.images.signpost.inactive.keyName), images.load(components.Assets.images.signpost.inactive.keyName),
@ -148,21 +148,17 @@ extension PinballGameAssetsX on PinballGame {
images.load(components.Assets.images.displayArrows.arrowLeft.keyName), images.load(components.Assets.images.displayArrows.arrowLeft.keyName),
images.load(components.Assets.images.displayArrows.arrowRight.keyName), images.load(components.Assets.images.displayArrows.arrowRight.keyName),
images.load(androidTheme.leaderboardIcon.keyName), images.load(androidTheme.leaderboardIcon.keyName),
images.load(androidTheme.background.keyName),
images.load(androidTheme.ball.keyName), images.load(androidTheme.ball.keyName),
images.load(dashTheme.leaderboardIcon.keyName), images.load(dashTheme.leaderboardIcon.keyName),
images.load(dashTheme.background.keyName),
images.load(dashTheme.ball.keyName), images.load(dashTheme.ball.keyName),
images.load(dinoTheme.leaderboardIcon.keyName), images.load(dinoTheme.leaderboardIcon.keyName),
images.load(dinoTheme.background.keyName),
images.load(dinoTheme.ball.keyName), images.load(dinoTheme.ball.keyName),
images.load(sparkyTheme.leaderboardIcon.keyName), images.load(sparkyTheme.leaderboardIcon.keyName),
images.load(sparkyTheme.background.keyName),
images.load(sparkyTheme.ball.keyName), images.load(sparkyTheme.ball.keyName),
]; ];
return (platformHelper.isMobile) ? gameAssets : gameAssets
..addAll([
images.load(androidTheme.background.keyName),
images.load(dashTheme.background.keyName),
images.load(dinoTheme.background.keyName),
images.load(sparkyTheme.background.keyName),
]);
} }
} }

@ -14,7 +14,6 @@ import 'package:pinball/select_character/select_character.dart';
import 'package:pinball_audio/pinball_audio.dart'; import 'package:pinball_audio/pinball_audio.dart';
import 'package:pinball_components/pinball_components.dart'; import 'package:pinball_components/pinball_components.dart';
import 'package:pinball_flame/pinball_flame.dart'; import 'package:pinball_flame/pinball_flame.dart';
import 'package:platform_helper/platform_helper.dart';
import 'package:share_repository/share_repository.dart'; import 'package:share_repository/share_repository.dart';
class PinballGame extends PinballForge2DGame class PinballGame extends PinballForge2DGame
@ -26,7 +25,6 @@ class PinballGame extends PinballForge2DGame
required GameBloc gameBloc, required GameBloc gameBloc,
required AppLocalizations l10n, required AppLocalizations l10n,
required PinballAudioPlayer audioPlayer, required PinballAudioPlayer audioPlayer,
required this.platformHelper,
}) : focusNode = FocusNode(), }) : focusNode = FocusNode(),
_gameBloc = gameBloc, _gameBloc = gameBloc,
_audioPlayer = audioPlayer, _audioPlayer = audioPlayer,
@ -59,8 +57,6 @@ class PinballGame extends PinballForge2DGame
final AppLocalizations _l10n; final AppLocalizations _l10n;
final PlatformHelper platformHelper;
final GameBloc _gameBloc; final GameBloc _gameBloc;
List<LeaderboardEntryData>? _entries; List<LeaderboardEntryData>? _entries;
@ -94,7 +90,6 @@ class PinballGame extends PinballForge2DGame
FlameProvider<LeaderboardRepository>.value(leaderboardRepository), FlameProvider<LeaderboardRepository>.value(leaderboardRepository),
FlameProvider<ShareRepository>.value(shareRepository), FlameProvider<ShareRepository>.value(shareRepository),
FlameProvider<AppLocalizations>.value(_l10n), FlameProvider<AppLocalizations>.value(_l10n),
FlameProvider<PlatformHelper>.value(platformHelper),
], ],
children: [ children: [
BonusNoiseBehavior(), BonusNoiseBehavior(),
@ -111,7 +106,7 @@ class PinballGame extends PinballForge2DGame
children: [ children: [
ZCanvasComponent( ZCanvasComponent(
children: [ children: [
if (!platformHelper.isMobile) ArcadeBackground(), ArcadeBackground(),
BoardBackgroundSpriteComponent(), BoardBackgroundSpriteComponent(),
Boundaries(), Boundaries(),
Backbox( Backbox(
@ -203,7 +198,6 @@ class DebugPinballGame extends PinballGame with FPSCounter, PanDetector {
required ShareRepository shareRepository, required ShareRepository shareRepository,
required AppLocalizations l10n, required AppLocalizations l10n,
required PinballAudioPlayer audioPlayer, required PinballAudioPlayer audioPlayer,
required PlatformHelper platformHelper,
required GameBloc gameBloc, required GameBloc gameBloc,
}) : super( }) : super(
characterThemeBloc: characterThemeBloc, characterThemeBloc: characterThemeBloc,
@ -211,7 +205,6 @@ class DebugPinballGame extends PinballGame with FPSCounter, PanDetector {
leaderboardRepository: leaderboardRepository, leaderboardRepository: leaderboardRepository,
shareRepository: shareRepository, shareRepository: shareRepository,
l10n: l10n, l10n: l10n,
platformHelper: platformHelper,
gameBloc: gameBloc, gameBloc: gameBloc,
); );

@ -11,7 +11,6 @@ import 'package:pinball/select_character/select_character.dart';
import 'package:pinball/start_game/start_game.dart'; import 'package:pinball/start_game/start_game.dart';
import 'package:pinball_audio/pinball_audio.dart'; import 'package:pinball_audio/pinball_audio.dart';
import 'package:pinball_ui/pinball_ui.dart'; import 'package:pinball_ui/pinball_ui.dart';
import 'package:platform_helper/platform_helper.dart';
import 'package:share_repository/share_repository.dart'; import 'package:share_repository/share_repository.dart';
class PinballGamePage extends StatelessWidget { class PinballGamePage extends StatelessWidget {
@ -28,7 +27,6 @@ class PinballGamePage extends StatelessWidget {
final audioPlayer = context.read<PinballAudioPlayer>(); final audioPlayer = context.read<PinballAudioPlayer>();
final leaderboardRepository = context.read<LeaderboardRepository>(); final leaderboardRepository = context.read<LeaderboardRepository>();
final shareRepository = context.read<ShareRepository>(); final shareRepository = context.read<ShareRepository>();
final platformHelper = context.read<PlatformHelper>();
final gameBloc = context.read<GameBloc>(); final gameBloc = context.read<GameBloc>();
final game = isDebugMode final game = isDebugMode
? DebugPinballGame( ? DebugPinballGame(
@ -37,7 +35,6 @@ class PinballGamePage extends StatelessWidget {
leaderboardRepository: leaderboardRepository, leaderboardRepository: leaderboardRepository,
shareRepository: shareRepository, shareRepository: shareRepository,
l10n: context.l10n, l10n: context.l10n,
platformHelper: platformHelper,
gameBloc: gameBloc, gameBloc: gameBloc,
) )
: PinballGame( : PinballGame(
@ -46,7 +43,6 @@ class PinballGamePage extends StatelessWidget {
leaderboardRepository: leaderboardRepository, leaderboardRepository: leaderboardRepository,
shareRepository: shareRepository, shareRepository: shareRepository,
l10n: context.l10n, l10n: context.l10n,
platformHelper: platformHelper,
gameBloc: gameBloc, gameBloc: gameBloc,
); );

@ -6,7 +6,6 @@ import 'package:leaderboard_repository/leaderboard_repository.dart';
import 'package:pinball/app/app.dart'; import 'package:pinball/app/app.dart';
import 'package:pinball/bootstrap.dart'; import 'package:pinball/bootstrap.dart';
import 'package:pinball_audio/pinball_audio.dart'; import 'package:pinball_audio/pinball_audio.dart';
import 'package:platform_helper/platform_helper.dart';
import 'package:share_repository/share_repository.dart'; import 'package:share_repository/share_repository.dart';
void main() { void main() {
@ -16,7 +15,6 @@ void main() {
ShareRepository(appUrl: ShareRepository.pinballGameUrl); ShareRepository(appUrl: ShareRepository.pinballGameUrl);
final authenticationRepository = AuthenticationRepository(firebaseAuth); final authenticationRepository = AuthenticationRepository(firebaseAuth);
final pinballAudioPlayer = PinballAudioPlayer(); final pinballAudioPlayer = PinballAudioPlayer();
final platformHelper = PlatformHelper();
unawaited( unawaited(
Firebase.initializeApp().then( Firebase.initializeApp().then(
(_) => authenticationRepository.authenticateAnonymously(), (_) => authenticationRepository.authenticateAnonymously(),
@ -27,7 +25,6 @@ void main() {
leaderboardRepository: leaderboardRepository, leaderboardRepository: leaderboardRepository,
shareRepository: shareRepository, shareRepository: shareRepository,
pinballAudioPlayer: pinballAudioPlayer, pinballAudioPlayer: pinballAudioPlayer,
platformHelper: platformHelper,
); );
}); });
} }

@ -5,7 +5,6 @@ import 'package:mocktail/mocktail.dart';
import 'package:pinball/app/app.dart'; import 'package:pinball/app/app.dart';
import 'package:pinball/game/game.dart'; import 'package:pinball/game/game.dart';
import 'package:pinball_audio/pinball_audio.dart'; import 'package:pinball_audio/pinball_audio.dart';
import 'package:platform_helper/platform_helper.dart';
import 'package:share_repository/share_repository.dart'; import 'package:share_repository/share_repository.dart';
class _MockAuthenticationRepository extends Mock class _MockAuthenticationRepository extends Mock
@ -18,25 +17,18 @@ class _MockLeaderboardRepository extends Mock implements LeaderboardRepository {
class _MockShareRepository extends Mock implements ShareRepository {} class _MockShareRepository extends Mock implements ShareRepository {}
class _MockPlatformHelper extends Mock implements PlatformHelper {
@override
bool get isMobile => false;
}
void main() { void main() {
group('App', () { group('App', () {
late AuthenticationRepository authenticationRepository; late AuthenticationRepository authenticationRepository;
late LeaderboardRepository leaderboardRepository; late LeaderboardRepository leaderboardRepository;
late ShareRepository shareRepository; late ShareRepository shareRepository;
late PinballAudioPlayer pinballAudioPlayer; late PinballAudioPlayer pinballAudioPlayer;
late PlatformHelper platformHelper;
setUp(() { setUp(() {
authenticationRepository = _MockAuthenticationRepository(); authenticationRepository = _MockAuthenticationRepository();
leaderboardRepository = _MockLeaderboardRepository(); leaderboardRepository = _MockLeaderboardRepository();
shareRepository = _MockShareRepository(); shareRepository = _MockShareRepository();
pinballAudioPlayer = _MockPinballAudioPlayer(); pinballAudioPlayer = _MockPinballAudioPlayer();
platformHelper = _MockPlatformHelper();
when(pinballAudioPlayer.load).thenAnswer((_) => [Future.value()]); when(pinballAudioPlayer.load).thenAnswer((_) => [Future.value()]);
}); });
@ -47,7 +39,6 @@ void main() {
leaderboardRepository: leaderboardRepository, leaderboardRepository: leaderboardRepository,
shareRepository: shareRepository, shareRepository: shareRepository,
pinballAudioPlayer: pinballAudioPlayer, pinballAudioPlayer: pinballAudioPlayer,
platformHelper: platformHelper,
), ),
); );
await tester.pump(const Duration(milliseconds: 1100)); await tester.pump(const Duration(milliseconds: 1100));

@ -12,7 +12,6 @@ import 'package:pinball/select_character/select_character.dart';
import 'package:pinball_components/pinball_components.dart'; import 'package:pinball_components/pinball_components.dart';
import 'package:pinball_flame/pinball_flame.dart'; import 'package:pinball_flame/pinball_flame.dart';
import 'package:pinball_theme/pinball_theme.dart' as theme; import 'package:pinball_theme/pinball_theme.dart' as theme;
import 'package:platform_helper/platform_helper.dart';
class _TestGame extends Forge2DGame { class _TestGame extends Forge2DGame {
@override @override
@ -29,18 +28,12 @@ class _TestGame extends Forge2DGame {
Future<void> pump( Future<void> pump(
List<Component> children, { List<Component> children, {
CharacterThemeCubit? characterThemeBloc, CharacterThemeCubit? characterThemeBloc,
PlatformHelper? platformHelper,
}) async { }) async {
await ensureAdd( await ensureAdd(
FlameBlocProvider<CharacterThemeCubit, CharacterThemeState>.value( FlameBlocProvider<CharacterThemeCubit, CharacterThemeState>.value(
value: characterThemeBloc ?? CharacterThemeCubit(), value: characterThemeBloc ?? CharacterThemeCubit(),
children: [
FlameProvider.value(
platformHelper ?? _MockPlatformHelper(),
children: children, children: children,
), ),
],
),
); );
} }
} }
@ -50,8 +43,6 @@ class _MockBallCubit extends Mock implements BallCubit {}
class _MockArcadeBackgroundCubit extends Mock implements ArcadeBackgroundCubit { class _MockArcadeBackgroundCubit extends Mock implements ArcadeBackgroundCubit {
} }
class _MockPlatformHelper extends Mock implements PlatformHelper {}
void main() { void main() {
TestWidgetsFlutterBinding.ensureInitialized(); TestWidgetsFlutterBinding.ensureInitialized();
@ -77,45 +68,8 @@ void main() {
); );
flameTester.test( flameTester.test(
'onNewState does not call onCharacterSelected on the arcade background ' 'onNewState calls onCharacterSelected on the arcade background bloc',
'bloc when platform is mobile',
(game) async { (game) async {
final platformHelper = _MockPlatformHelper();
when(() => platformHelper.isMobile).thenAnswer((_) => true);
final arcadeBackgroundBloc = _MockArcadeBackgroundCubit();
whenListen(
arcadeBackgroundBloc,
const Stream<ArcadeBackgroundState>.empty(),
initialState: const ArcadeBackgroundState.initial(),
);
final behavior = CharacterSelectionBehavior();
await game.pump(
[
behavior,
ZCanvasComponent(),
Plunger.test(compressionDistance: 10),
Ball.test(),
],
platformHelper: platformHelper,
);
const dinoThemeState = CharacterThemeState(theme.DinoTheme());
behavior.onNewState(dinoThemeState);
await game.ready();
verifyNever(
() => arcadeBackgroundBloc
.onCharacterSelected(dinoThemeState.characterTheme),
);
},
);
flameTester.test(
'onNewState calls onCharacterSelected on the arcade background '
'bloc when platform is not mobile',
(game) async {
final platformHelper = _MockPlatformHelper();
when(() => platformHelper.isMobile).thenAnswer((_) => false);
final arcadeBackgroundBloc = _MockArcadeBackgroundCubit(); final arcadeBackgroundBloc = _MockArcadeBackgroundCubit();
whenListen( whenListen(
arcadeBackgroundBloc, arcadeBackgroundBloc,
@ -125,16 +79,13 @@ void main() {
final arcadeBackground = final arcadeBackground =
ArcadeBackground.test(bloc: arcadeBackgroundBloc); ArcadeBackground.test(bloc: arcadeBackgroundBloc);
final behavior = CharacterSelectionBehavior(); final behavior = CharacterSelectionBehavior();
await game.pump( await game.pump([
[
arcadeBackground, arcadeBackground,
behavior, behavior,
ZCanvasComponent(), ZCanvasComponent(),
Plunger.test(compressionDistance: 10), Plunger.test(compressionDistance: 10),
Ball.test(), Ball.test(),
], ]);
platformHelper: platformHelper,
);
const dinoThemeState = CharacterThemeState(theme.DinoTheme()); const dinoThemeState = CharacterThemeState(theme.DinoTheme());
behavior.onNewState(dinoThemeState); behavior.onNewState(dinoThemeState);
@ -150,8 +101,6 @@ void main() {
flameTester.test( flameTester.test(
'onNewState calls onCharacterSelected on the ball bloc', 'onNewState calls onCharacterSelected on the ball bloc',
(game) async { (game) async {
final platformHelper = _MockPlatformHelper();
when(() => platformHelper.isMobile).thenAnswer((_) => false);
final ballBloc = _MockBallCubit(); final ballBloc = _MockBallCubit();
whenListen( whenListen(
ballBloc, ballBloc,
@ -160,16 +109,13 @@ void main() {
); );
final ball = Ball.test(bloc: ballBloc); final ball = Ball.test(bloc: ballBloc);
final behavior = CharacterSelectionBehavior(); final behavior = CharacterSelectionBehavior();
await game.pump( await game.pump([
[
ball, ball,
behavior, behavior,
ZCanvasComponent(), ZCanvasComponent(),
Plunger.test(compressionDistance: 10), Plunger.test(compressionDistance: 10),
ArcadeBackground.test(), ArcadeBackground.test(),
], ]);
platformHelper: platformHelper,
);
const dinoThemeState = CharacterThemeState(theme.DinoTheme()); const dinoThemeState = CharacterThemeState(theme.DinoTheme());
behavior.onNewState(dinoThemeState); behavior.onNewState(dinoThemeState);

@ -47,10 +47,7 @@ class _TestGame extends Forge2DGame
]); ]);
} }
Future<void> pump( Future<void> pump(Backbox component) async {
Backbox component, {
PlatformHelper? platformHelper,
}) async {
// Not needed once https://github.com/flame-engine/flame/issues/1607 // Not needed once https://github.com/flame-engine/flame/issues/1607
// is fixed // is fixed
await onLoad(); await onLoad();
@ -58,15 +55,8 @@ class _TestGame extends Forge2DGame
FlameBlocProvider<GameBloc, GameState>.value( FlameBlocProvider<GameBloc, GameState>.value(
value: GameBloc(), value: GameBloc(),
children: [ children: [
MultiFlameProvider( FlameProvider.value(
providers: [
FlameProvider<AppLocalizations>.value(
_MockAppLocalizations(), _MockAppLocalizations(),
),
FlameProvider<PlatformHelper>.value(
platformHelper ?? _MockPlatformHelper(),
),
],
children: [component], children: [component],
), ),
], ],
@ -203,11 +193,9 @@ void main() {
final backbox = Backbox.test( final backbox = Backbox.test(
bloc: bloc, bloc: bloc,
shareRepository: _MockShareRepository(), shareRepository: _MockShareRepository(),
);
await game.pump(
backbox,
platformHelper: platformHelper, platformHelper: platformHelper,
); );
await game.pump(backbox);
expect(game.descendants(), contains(backbox)); expect(game.descendants(), contains(backbox));
}, },
); );
@ -223,8 +211,8 @@ void main() {
Backbox.test( Backbox.test(
bloc: bloc, bloc: bloc,
shareRepository: _MockShareRepository(), shareRepository: _MockShareRepository(),
),
platformHelper: platformHelper, platformHelper: platformHelper,
),
); );
await tester.pump(); await tester.pump();
}, },
@ -245,11 +233,9 @@ void main() {
initialEntries: [LeaderboardEntryData.empty], initialEntries: [LeaderboardEntryData.empty],
), ),
shareRepository: _MockShareRepository(), shareRepository: _MockShareRepository(),
);
await game.pump(
backbox,
platformHelper: platformHelper, platformHelper: platformHelper,
); );
await game.pump(backbox);
backbox.requestInitials( backbox.requestInitials(
score: 0, score: 0,
character: game.character, character: game.character,
@ -279,11 +265,9 @@ void main() {
final backbox = Backbox.test( final backbox = Backbox.test(
bloc: bloc, bloc: bloc,
shareRepository: _MockShareRepository(), shareRepository: _MockShareRepository(),
);
await game.pump(
backbox,
platformHelper: platformHelper, platformHelper: platformHelper,
); );
await game.pump(backbox);
game.onKeyEvent(_mockKeyUp(LogicalKeyboardKey.enter), {}); game.onKeyEvent(_mockKeyUp(LogicalKeyboardKey.enter), {});
verify( verify(
@ -310,11 +294,9 @@ void main() {
final backbox = Backbox.test( final backbox = Backbox.test(
bloc: bloc, bloc: bloc,
shareRepository: _MockShareRepository(), shareRepository: _MockShareRepository(),
);
await game.pump(
backbox,
platformHelper: platformHelper, platformHelper: platformHelper,
); );
await game.pump(backbox);
expect( expect(
game.descendants().whereType<GameOverInfoDisplay>().length, game.descendants().whereType<GameOverInfoDisplay>().length,
@ -342,11 +324,9 @@ void main() {
final backbox = Backbox.test( final backbox = Backbox.test(
bloc: bloc, bloc: bloc,
shareRepository: _MockShareRepository(), shareRepository: _MockShareRepository(),
);
await game.pump(
backbox,
platformHelper: platformHelper, platformHelper: platformHelper,
); );
await game.pump(backbox);
expect( expect(
game.overlays.value, game.overlays.value,
@ -371,11 +351,9 @@ void main() {
final backbox = Backbox.test( final backbox = Backbox.test(
bloc: bloc, bloc: bloc,
shareRepository: _MockShareRepository(), shareRepository: _MockShareRepository(),
);
await game.pump(
backbox,
platformHelper: platformHelper, platformHelper: platformHelper,
); );
await game.pump(backbox);
expect( expect(
game.overlays.value, game.overlays.value,
@ -396,11 +374,9 @@ void main() {
final backbox = Backbox.test( final backbox = Backbox.test(
bloc: bloc, bloc: bloc,
shareRepository: _MockShareRepository(), shareRepository: _MockShareRepository(),
);
await game.pump(
backbox,
platformHelper: platformHelper, platformHelper: platformHelper,
); );
await game.pump(backbox);
expect( expect(
game.descendants().whereType<GameOverInfoDisplay>().length, game.descendants().whereType<GameOverInfoDisplay>().length,
@ -421,11 +397,9 @@ void main() {
final backbox = Backbox.test( final backbox = Backbox.test(
bloc: bloc, bloc: bloc,
shareRepository: _MockShareRepository(), shareRepository: _MockShareRepository(),
);
await game.pump(
backbox,
platformHelper: platformHelper, platformHelper: platformHelper,
); );
await game.pump(backbox);
final shareLink = final shareLink =
game.descendants().whereType<ShareLinkComponent>().first; game.descendants().whereType<ShareLinkComponent>().first;
@ -453,11 +427,9 @@ void main() {
final backbox = Backbox.test( final backbox = Backbox.test(
bloc: bloc, bloc: bloc,
shareRepository: _MockShareRepository(), shareRepository: _MockShareRepository(),
);
await game.pump(
backbox,
platformHelper: platformHelper, platformHelper: platformHelper,
); );
await game.pump(backbox);
expect( expect(
game game
@ -487,11 +459,9 @@ void main() {
final backbox = Backbox.test( final backbox = Backbox.test(
bloc: bloc, bloc: bloc,
shareRepository: _MockShareRepository(), shareRepository: _MockShareRepository(),
);
await game.pump(
backbox,
platformHelper: platformHelper, platformHelper: platformHelper,
); );
await game.pump(backbox);
expect( expect(
game.descendants().whereType<ShareDisplay>().length, game.descendants().whereType<ShareDisplay>().length,
@ -536,11 +506,9 @@ void main() {
final backbox = Backbox.test( final backbox = Backbox.test(
bloc: bloc, bloc: bloc,
shareRepository: shareRepository, shareRepository: shareRepository,
);
await game.pump(
backbox,
platformHelper: platformHelper, platformHelper: platformHelper,
); );
await game.pump(backbox);
final facebookButton = final facebookButton =
game.descendants().whereType<FacebookButtonComponent>().first; game.descendants().whereType<FacebookButtonComponent>().first;
@ -592,11 +560,9 @@ void main() {
final backbox = Backbox.test( final backbox = Backbox.test(
bloc: bloc, bloc: bloc,
shareRepository: shareRepository, shareRepository: shareRepository,
);
await game.pump(
backbox,
platformHelper: platformHelper, platformHelper: platformHelper,
); );
await game.pump(backbox);
final facebookButton = final facebookButton =
game.descendants().whereType<TwitterButtonComponent>().first; game.descendants().whereType<TwitterButtonComponent>().first;
@ -626,11 +592,9 @@ void main() {
final backbox = Backbox.test( final backbox = Backbox.test(
bloc: bloc, bloc: bloc,
shareRepository: _MockShareRepository(), shareRepository: _MockShareRepository(),
);
await game.pump(
backbox,
platformHelper: platformHelper, platformHelper: platformHelper,
); );
await game.pump(backbox);
expect( expect(
game.descendants().whereType<LeaderboardDisplay>().length, game.descendants().whereType<LeaderboardDisplay>().length,
@ -651,11 +615,9 @@ void main() {
final backbox = Backbox.test( final backbox = Backbox.test(
bloc: bloc, bloc: bloc,
shareRepository: _MockShareRepository(), shareRepository: _MockShareRepository(),
);
await game.pump(
backbox,
platformHelper: platformHelper, platformHelper: platformHelper,
); );
await game.pump(backbox);
expect( expect(
game.descendants().whereType<LeaderboardFailureDisplay>().length, game.descendants().whereType<LeaderboardFailureDisplay>().length,
@ -677,11 +639,9 @@ void main() {
final backbox = Backbox.test( final backbox = Backbox.test(
bloc: bloc, bloc: bloc,
shareRepository: _MockShareRepository(), shareRepository: _MockShareRepository(),
);
await game.pump(
backbox,
platformHelper: platformHelper, platformHelper: platformHelper,
); );
await game.pump(backbox);
backbox.removeFromParent(); backbox.removeFromParent();
await game.ready(); await game.ready();
@ -720,11 +680,9 @@ void main() {
final backbox = Backbox.test( final backbox = Backbox.test(
bloc: bloc, bloc: bloc,
shareRepository: _MockShareRepository(), shareRepository: _MockShareRepository(),
);
await game.pump(
backbox,
platformHelper: platformHelper, platformHelper: platformHelper,
); );
await game.pump(backbox);
game.update(4); game.update(4);
verify( verify(

@ -15,7 +15,6 @@ import 'package:pinball_audio/pinball_audio.dart';
import 'package:pinball_components/pinball_components.dart'; import 'package:pinball_components/pinball_components.dart';
import 'package:pinball_flame/pinball_flame.dart'; import 'package:pinball_flame/pinball_flame.dart';
import 'package:pinball_theme/pinball_theme.dart' as theme; import 'package:pinball_theme/pinball_theme.dart' as theme;
import 'package:platform_helper/platform_helper.dart';
import 'package:share_repository/share_repository.dart'; import 'package:share_repository/share_repository.dart';
class _TestGame extends Forge2DGame with HasTappables { class _TestGame extends Forge2DGame with HasTappables {
@ -56,9 +55,6 @@ class _TestGame extends Forge2DGame with HasTappables {
FlameProvider<AppLocalizations>.value( FlameProvider<AppLocalizations>.value(
_MockAppLocalizations(), _MockAppLocalizations(),
), ),
FlameProvider<PlatformHelper>.value(
_MockPlatformHelper(),
),
], ],
children: children, children: children,
), ),
@ -75,11 +71,6 @@ class _MockLeaderboardRepository extends Mock implements LeaderboardRepository {
class _MockShareRepository extends Mock implements ShareRepository {} class _MockShareRepository extends Mock implements ShareRepository {}
class _MockPlatformHelper extends Mock implements PlatformHelper {
@override
bool get isMobile => false;
}
class _MockAppLocalizations extends Mock implements AppLocalizations { class _MockAppLocalizations extends Mock implements AppLocalizations {
@override @override
String get score => ''; String get score => '';

@ -16,7 +16,6 @@ import 'package:pinball/game/game.dart';
import 'package:pinball/select_character/select_character.dart'; import 'package:pinball/select_character/select_character.dart';
import 'package:pinball_audio/src/pinball_audio.dart'; import 'package:pinball_audio/src/pinball_audio.dart';
import 'package:pinball_components/pinball_components.dart'; import 'package:pinball_components/pinball_components.dart';
import 'package:platform_helper/platform_helper.dart';
import 'package:share_repository/share_repository.dart'; import 'package:share_repository/share_repository.dart';
class _TestPinballGame extends PinballGame { class _TestPinballGame extends PinballGame {
@ -28,7 +27,6 @@ class _TestPinballGame extends PinballGame {
gameBloc: GameBloc(), gameBloc: GameBloc(),
l10n: _MockAppLocalizations(), l10n: _MockAppLocalizations(),
audioPlayer: _MockPinballAudioPlayer(), audioPlayer: _MockPinballAudioPlayer(),
platformHelper: _MockPlatformHelper(),
); );
@override @override
@ -49,7 +47,6 @@ class _TestDebugPinballGame extends DebugPinballGame {
gameBloc: GameBloc(), gameBloc: GameBloc(),
l10n: _MockAppLocalizations(), l10n: _MockAppLocalizations(),
audioPlayer: _MockPinballAudioPlayer(), audioPlayer: _MockPinballAudioPlayer(),
platformHelper: _MockPlatformHelper(),
); );
@override @override
@ -91,11 +88,6 @@ class _MockShareRepository extends Mock implements ShareRepository {}
class _MockPinballAudioPlayer extends Mock implements PinballAudioPlayer {} class _MockPinballAudioPlayer extends Mock implements PinballAudioPlayer {}
class _MockPlatformHelper extends Mock implements PlatformHelper {
@override
bool get isMobile => false;
}
void main() { void main() {
TestWidgetsFlutterBinding.ensureInitialized(); TestWidgetsFlutterBinding.ensureInitialized();

@ -15,7 +15,6 @@ import 'package:pinball/more_information/more_information.dart';
import 'package:pinball/select_character/select_character.dart'; import 'package:pinball/select_character/select_character.dart';
import 'package:pinball/start_game/start_game.dart'; import 'package:pinball/start_game/start_game.dart';
import 'package:pinball_audio/pinball_audio.dart'; import 'package:pinball_audio/pinball_audio.dart';
import 'package:platform_helper/platform_helper.dart';
import 'package:share_repository/share_repository.dart'; import 'package:share_repository/share_repository.dart';
import '../../helpers/helpers.dart'; import '../../helpers/helpers.dart';
@ -29,7 +28,6 @@ class _TestPinballGame extends PinballGame {
gameBloc: GameBloc(), gameBloc: GameBloc(),
l10n: _MockAppLocalizations(), l10n: _MockAppLocalizations(),
audioPlayer: _MockPinballAudioPlayer(), audioPlayer: _MockPinballAudioPlayer(),
platformHelper: _MockPlatformHelper(),
); );
@override @override
@ -65,11 +63,6 @@ class _MockLeaderboardRepository extends Mock implements LeaderboardRepository {
class _MockShareRepository extends Mock implements ShareRepository {} class _MockShareRepository extends Mock implements ShareRepository {}
class _MockPlatformHelper extends Mock implements PlatformHelper {
@override
bool get isMobile => false;
}
void main() { void main() {
final game = _TestPinballGame(); final game = _TestPinballGame();

@ -12,7 +12,6 @@ import 'package:pinball/select_character/select_character.dart';
import 'package:pinball/start_game/start_game.dart'; import 'package:pinball/start_game/start_game.dart';
import 'package:pinball_audio/pinball_audio.dart'; import 'package:pinball_audio/pinball_audio.dart';
import 'package:pinball_ui/pinball_ui.dart'; import 'package:pinball_ui/pinball_ui.dart';
import 'package:platform_helper/platform_helper.dart';
import 'package:share_repository/share_repository.dart'; import 'package:share_repository/share_repository.dart';
class _MockAssetsManagerCubit extends Mock implements AssetsManagerCubit {} class _MockAssetsManagerCubit extends Mock implements AssetsManagerCubit {}
@ -30,8 +29,6 @@ class _MockStartGameBloc extends Mock implements StartGameBloc {}
class _MockPinballAudioPlayer extends Mock implements PinballAudioPlayer {} class _MockPinballAudioPlayer extends Mock implements PinballAudioPlayer {}
class _MockPlatformHelper extends Mock implements PlatformHelper {}
PinballAudioPlayer _buildDefaultPinballAudioPlayer() { PinballAudioPlayer _buildDefaultPinballAudioPlayer() {
final audioPlayer = _MockPinballAudioPlayer(); final audioPlayer = _MockPinballAudioPlayer();
when(audioPlayer.load).thenAnswer((_) => [Future.value()]); when(audioPlayer.load).thenAnswer((_) => [Future.value()]);
@ -63,7 +60,6 @@ extension PumpApp on WidgetTester {
LeaderboardRepository? leaderboardRepository, LeaderboardRepository? leaderboardRepository,
ShareRepository? shareRepository, ShareRepository? shareRepository,
PinballAudioPlayer? pinballAudioPlayer, PinballAudioPlayer? pinballAudioPlayer,
PlatformHelper? platformHelper,
}) { }) {
return runAsync(() { return runAsync(() {
return pumpWidget( return pumpWidget(
@ -78,9 +74,6 @@ extension PumpApp on WidgetTester {
RepositoryProvider.value( RepositoryProvider.value(
value: pinballAudioPlayer ?? _buildDefaultPinballAudioPlayer(), value: pinballAudioPlayer ?? _buildDefaultPinballAudioPlayer(),
), ),
RepositoryProvider.value(
value: platformHelper ?? _MockPlatformHelper(),
),
], ],
child: MultiBlocProvider( child: MultiBlocProvider(
providers: [ providers: [

@ -7,7 +7,6 @@ import 'package:pinball/how_to_play/how_to_play.dart';
import 'package:pinball/select_character/select_character.dart'; import 'package:pinball/select_character/select_character.dart';
import 'package:pinball/start_game/start_game.dart'; import 'package:pinball/start_game/start_game.dart';
import 'package:pinball_audio/pinball_audio.dart'; import 'package:pinball_audio/pinball_audio.dart';
import 'package:platform_helper/platform_helper.dart';
import '../../helpers/helpers.dart'; import '../../helpers/helpers.dart';
@ -19,16 +18,10 @@ class _MockCharacterThemeCubit extends Mock implements CharacterThemeCubit {}
class _MockPinballAudioPlayer extends Mock implements PinballAudioPlayer {} class _MockPinballAudioPlayer extends Mock implements PinballAudioPlayer {}
class _MockPlatformHelper extends Mock implements PlatformHelper {
@override
bool get isMobile => false;
}
void main() { void main() {
late StartGameBloc startGameBloc; late StartGameBloc startGameBloc;
late PinballAudioPlayer pinballAudioPlayer; late PinballAudioPlayer pinballAudioPlayer;
late CharacterThemeCubit characterThemeCubit; late CharacterThemeCubit characterThemeCubit;
late PlatformHelper platformHelper;
group('StartGameListener', () { group('StartGameListener', () {
setUp(() async { setUp(() async {
@ -37,7 +30,6 @@ void main() {
startGameBloc = _MockStartGameBloc(); startGameBloc = _MockStartGameBloc();
pinballAudioPlayer = _MockPinballAudioPlayer(); pinballAudioPlayer = _MockPinballAudioPlayer();
characterThemeCubit = _MockCharacterThemeCubit(); characterThemeCubit = _MockCharacterThemeCubit();
platformHelper = _MockPlatformHelper();
}); });
group('on selectCharacter status', () { group('on selectCharacter status', () {
@ -129,7 +121,6 @@ void main() {
child: SizedBox.shrink(), child: SizedBox.shrink(),
), ),
startGameBloc: startGameBloc, startGameBloc: startGameBloc,
platformHelper: platformHelper,
); );
await tester.pumpAndSettle(); await tester.pumpAndSettle();
@ -222,7 +213,6 @@ void main() {
child: SizedBox.shrink(), child: SizedBox.shrink(),
), ),
startGameBloc: startGameBloc, startGameBloc: startGameBloc,
platformHelper: platformHelper,
); );
await tester.pumpAndSettle(); await tester.pumpAndSettle();
@ -254,7 +244,6 @@ void main() {
), ),
startGameBloc: startGameBloc, startGameBloc: startGameBloc,
pinballAudioPlayer: pinballAudioPlayer, pinballAudioPlayer: pinballAudioPlayer,
platformHelper: platformHelper,
); );
await tester.pumpAndSettle(); await tester.pumpAndSettle();

Loading…
Cancel
Save