From 12c8492b1cf26a7ee33d76a35b54fd8a5c45b1ef Mon Sep 17 00:00:00 2001 From: arturplaczek Date: Thu, 28 Apr 2022 21:55:53 +0200 Subject: [PATCH] chore: remove duplicated & unused files --- .../view/widgets/play_button_overlay.dart | 26 ---- .../view/character_selection_page.dart | 130 ------------------ lib/select_character/view/view.dart | 1 - .../assets/images/pinball_button.png | Bin 1602 -> 0 bytes .../images/select_character_background.png | Bin 16269 -> 0 bytes .../lib/src/generated/assets.gen.dart | 25 ---- .../widgets/play_button_overlay_test.dart | 42 ------ .../view/character_selection_page_test.dart | 119 ---------------- 8 files changed, 343 deletions(-) delete mode 100644 lib/game/view/widgets/play_button_overlay.dart delete mode 100644 lib/select_character/view/character_selection_page.dart delete mode 100644 lib/select_character/view/view.dart delete mode 100644 packages/pinball_theme/assets/images/pinball_button.png delete mode 100644 packages/pinball_theme/assets/images/select_character_background.png delete mode 100644 test/game/view/widgets/play_button_overlay_test.dart delete mode 100644 test/select_character/view/character_selection_page_test.dart diff --git a/lib/game/view/widgets/play_button_overlay.dart b/lib/game/view/widgets/play_button_overlay.dart deleted file mode 100644 index 21493ca2..00000000 --- a/lib/game/view/widgets/play_button_overlay.dart +++ /dev/null @@ -1,26 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:pinball/l10n/l10n.dart'; -import 'package:pinball/start_game/start_game.dart'; - -/// {@template play_button_overlay} -/// [Widget] that renders the button responsible to starting the game -/// {@endtemplate} -class PlayButtonOverlay extends StatelessWidget { - /// {@macro play_button_overlay} - const PlayButtonOverlay({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - final l10n = context.l10n; - - return Center( - child: ElevatedButton( - onPressed: () { - context.read().add(const PlayTapped()); - }, - child: Text(l10n.play), - ), - ); - } -} diff --git a/lib/select_character/view/character_selection_page.dart b/lib/select_character/view/character_selection_page.dart deleted file mode 100644 index 80a184ab..00000000 --- a/lib/select_character/view/character_selection_page.dart +++ /dev/null @@ -1,130 +0,0 @@ -// ignore_for_file: public_member_api_docs - -import 'package:flutter/material.dart'; -import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:pinball/l10n/l10n.dart'; -import 'package:pinball/select_character/select_character.dart'; -import 'package:pinball/start_game/start_game.dart'; -import 'package:pinball_theme/pinball_theme.dart'; -import 'package:pinball_ui/pinball_ui.dart'; - -class CharacterSelectionDialog extends StatelessWidget { - const CharacterSelectionDialog({Key? key}) : super(key: key); - - static Route route() { - return MaterialPageRoute( - builder: (_) => const CharacterSelectionDialog(), - ); - } - - @override - Widget build(BuildContext context) { - return BlocProvider( - create: (_) => CharacterThemeCubit(), - child: const CharacterSelectionView(), - ); - } -} - -class CharacterSelectionView extends StatelessWidget { - const CharacterSelectionView({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - final l10n = context.l10n; - - return PixelatedDecoration( - header: Text( - l10n.characterSelectionTitle, - style: Theme.of(context).textTheme.headline3, - ), - body: SingleChildScrollView( - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - const _CharacterSelectionGridView(), - const SizedBox(height: 20), - TextButton( - onPressed: () { - Navigator.of(context).pop(); - context.read().add(const CharacterSelected()); - }, - child: Text(l10n.start), - ), - ], - ), - ), - ); - } -} - -class _CharacterSelectionGridView extends StatelessWidget { - const _CharacterSelectionGridView({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Padding( - padding: const EdgeInsets.all(20), - child: GridView.count( - shrinkWrap: true, - crossAxisCount: 2, - mainAxisSpacing: 20, - crossAxisSpacing: 20, - children: const [ - CharacterImageButton( - DashTheme(), - key: Key('characterSelectionPage_dashButton'), - ), - CharacterImageButton( - SparkyTheme(), - key: Key('characterSelectionPage_sparkyButton'), - ), - CharacterImageButton( - AndroidTheme(), - key: Key('characterSelectionPage_androidButton'), - ), - CharacterImageButton( - DinoTheme(), - key: Key('characterSelectionPage_dinoButton'), - ), - ], - ), - ); - } -} - -// TODO(allisonryan0002): remove visibility when adding final UI. -@visibleForTesting -class CharacterImageButton extends StatelessWidget { - const CharacterImageButton( - this.characterTheme, { - Key? key, - }) : super(key: key); - - final CharacterTheme characterTheme; - - @override - Widget build(BuildContext context) { - final currentCharacterTheme = - context.select( - (cubit) => cubit.state.characterTheme, - ); - - return GestureDetector( - onTap: () => - context.read().characterSelected(characterTheme), - child: DecoratedBox( - decoration: BoxDecoration( - color: (currentCharacterTheme == characterTheme) - ? Colors.blue.withOpacity(0.5) - : null, - borderRadius: BorderRadius.circular(6), - ), - child: Padding( - padding: const EdgeInsets.all(8), - child: characterTheme.icon.image(), - ), - ), - ); - } -} diff --git a/lib/select_character/view/view.dart b/lib/select_character/view/view.dart deleted file mode 100644 index 1af489b5..00000000 --- a/lib/select_character/view/view.dart +++ /dev/null @@ -1 +0,0 @@ -export 'character_selection_page.dart'; diff --git a/packages/pinball_theme/assets/images/pinball_button.png b/packages/pinball_theme/assets/images/pinball_button.png deleted file mode 100644 index 62373b857648faaf527a761891db0916811b6498..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1602 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 UmyX|`2;I*IjDAYrcj34H2k1m;ng9R* diff --git a/packages/pinball_theme/lib/src/generated/assets.gen.dart b/packages/pinball_theme/lib/src/generated/assets.gen.dart index 3feeecce..a25075ff 100644 --- a/packages/pinball_theme/lib/src/generated/assets.gen.dart +++ b/packages/pinball_theme/lib/src/generated/assets.gen.dart @@ -13,15 +13,6 @@ class $AssetsImagesGen { $AssetsImagesAndroidGen get android => const $AssetsImagesAndroidGen(); $AssetsImagesDashGen get dash => const $AssetsImagesDashGen(); $AssetsImagesDinoGen get dino => const $AssetsImagesDinoGen(); - - /// File path: assets/images/pinball_button.png - AssetGenImage get pinballButton => - const AssetGenImage('assets/images/pinball_button.png'); - - /// File path: assets/images/select_character_background.png - AssetGenImage get selectCharacterBackground => - const AssetGenImage('assets/images/select_character_background.png'); - $AssetsImagesSparkyGen get sparky => const $AssetsImagesSparkyGen(); } @@ -36,10 +27,6 @@ class $AssetsImagesAndroidGen { AssetGenImage get background => const AssetGenImage('assets/images/android/background.png'); - /// File path: assets/images/android/character.png - AssetGenImage get character => - const AssetGenImage('assets/images/android/character.png'); - /// File path: assets/images/android/icon.png AssetGenImage get icon => const AssetGenImage('assets/images/android/icon.png'); @@ -60,10 +47,6 @@ class $AssetsImagesDashGen { AssetGenImage get background => const AssetGenImage('assets/images/dash/background.png'); - /// File path: assets/images/dash/character.png - AssetGenImage get character => - const AssetGenImage('assets/images/dash/character.png'); - /// File path: assets/images/dash/icon.png AssetGenImage get icon => const AssetGenImage('assets/images/dash/icon.png'); @@ -83,10 +66,6 @@ class $AssetsImagesDinoGen { AssetGenImage get background => const AssetGenImage('assets/images/dino/background.png'); - /// File path: assets/images/dino/character.png - AssetGenImage get character => - const AssetGenImage('assets/images/dino/character.png'); - /// File path: assets/images/dino/icon.png AssetGenImage get icon => const AssetGenImage('assets/images/dino/icon.png'); @@ -106,10 +85,6 @@ class $AssetsImagesSparkyGen { AssetGenImage get background => const AssetGenImage('assets/images/sparky/background.png'); - /// File path: assets/images/sparky/character.png - AssetGenImage get character => - const AssetGenImage('assets/images/sparky/character.png'); - /// File path: assets/images/sparky/icon.png AssetGenImage get icon => const AssetGenImage('assets/images/sparky/icon.png'); diff --git a/test/game/view/widgets/play_button_overlay_test.dart b/test/game/view/widgets/play_button_overlay_test.dart deleted file mode 100644 index a4d53617..00000000 --- a/test/game/view/widgets/play_button_overlay_test.dart +++ /dev/null @@ -1,42 +0,0 @@ -import 'package:bloc_test/bloc_test.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:mocktail/mocktail.dart'; -import 'package:pinball/game/game.dart'; -import 'package:pinball/start_game/bloc/start_game_bloc.dart'; - -import '../../../helpers/helpers.dart'; - -void main() { - group('PlayButtonOverlay', () { - late StartGameBloc startGameBloc; - - setUp(() { - startGameBloc = MockStartGameBloc(); - - whenListen( - startGameBloc, - Stream.value(const StartGameState.initial()), - initialState: const StartGameState.initial(), - ); - }); - - testWidgets('renders correctly', (tester) async { - await tester.pumpApp(const PlayButtonOverlay()); - - expect(find.text('Play'), findsOneWidget); - }); - - testWidgets('adds PlayTapped event to StartGameBloc when taped', - (tester) async { - await tester.pumpApp( - const PlayButtonOverlay(), - startGameBloc: startGameBloc, - ); - - await tester.tap(find.text('Play')); - await tester.pump(); - - verify(() => startGameBloc.add(const PlayTapped())).called(1); - }); - }); -} diff --git a/test/select_character/view/character_selection_page_test.dart b/test/select_character/view/character_selection_page_test.dart deleted file mode 100644 index 5cd22f54..00000000 --- a/test/select_character/view/character_selection_page_test.dart +++ /dev/null @@ -1,119 +0,0 @@ -// ignore_for_file: prefer_const_constructors - -import 'package:bloc_test/bloc_test.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:mockingjay/mockingjay.dart'; -import 'package:pinball/select_character/select_character.dart'; -import 'package:pinball/start_game/start_game.dart'; -import 'package:pinball_theme/pinball_theme.dart'; - -import '../../helpers/helpers.dart'; - -void main() { - late CharacterThemeCubit characterThemeCubit; - late StartGameBloc startGameBloc; - - setUp(() { - characterThemeCubit = MockCharacterThemeCubit(); - startGameBloc = MockStartGameBloc(); - - whenListen( - characterThemeCubit, - const Stream.empty(), - initialState: const CharacterThemeState.initial(), - ); - }); - - group('CharacterSelectionPage', () { - testWidgets('renders CharacterSelectionView', (tester) async { - await tester.pumpApp( - CharacterSelectionDialog(), - characterThemeCubit: characterThemeCubit, - ); - expect(find.byType(CharacterSelectionView), findsOneWidget); - }); - - testWidgets('route returns a valid navigation route', (tester) async { - await tester.pumpApp( - Scaffold( - body: Builder( - builder: (context) { - return ElevatedButton( - onPressed: () { - Navigator.of(context) - .push(CharacterSelectionDialog.route()); - }, - child: Text('Tap me'), - ); - }, - ), - ), - characterThemeCubit: characterThemeCubit, - ); - - await tester.tap(find.text('Tap me')); - await tester.pumpAndSettle(); - - expect(find.byType(CharacterSelectionDialog), findsOneWidget); - }); - }); - - group('CharacterSelectionView', () { - testWidgets('renders correctly', (tester) async { - const titleText = 'Choose your character!'; - await tester.pumpApp( - CharacterSelectionView(), - characterThemeCubit: characterThemeCubit, - ); - - expect(find.text(titleText), findsOneWidget); - expect(find.byType(CharacterImageButton), findsNWidgets(4)); - expect(find.byType(TextButton), findsOneWidget); - }); - - testWidgets('calls characterSelected when a character image is tapped', - (tester) async { - const sparkyButtonKey = Key('characterSelectionPage_sparkyButton'); - - await tester.pumpApp( - CharacterSelectionView(), - characterThemeCubit: characterThemeCubit, - ); - - await tester.tap(find.byKey(sparkyButtonKey)); - - verify(() => characterThemeCubit.characterSelected(SparkyTheme())) - .called(1); - }); - - testWidgets('adds CharacterSelected event when start is tapped', - (tester) async { - whenListen( - startGameBloc, - Stream.value(const StartGameState.initial()), - initialState: const StartGameState.initial(), - ); - - await tester.pumpApp( - CharacterSelectionView(), - characterThemeCubit: characterThemeCubit, - startGameBloc: startGameBloc, - ); - await tester.ensureVisible(find.byType(TextButton)); - await tester.tap(find.byType(TextButton)); - await tester.pumpAndSettle(); - - verify(() => startGameBloc.add(CharacterSelected())).called(1); - }); - }); - - testWidgets('CharacterImageButton renders correctly', (tester) async { - await tester.pumpApp( - CharacterImageButton(DashTheme()), - characterThemeCubit: characterThemeCubit, - ); - - expect(find.byType(Image), findsOneWidget); - }); -}