chore: add suggestions

pull/20/head
Allison Ryan 4 years ago
parent eb04a6734d
commit 290cb09f40

@ -1,12 +1,10 @@
import 'package:flame_bloc/flame_bloc.dart';
import 'package:flame_forge2d/body_component.dart'; import 'package:flame_forge2d/body_component.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:forge2d/forge2d.dart'; import 'package:forge2d/forge2d.dart';
import 'package:pinball/game/game.dart'; import 'package:pinball/game/game.dart';
import 'package:pinball/theme/theme.dart'; import 'package:pinball/theme/theme.dart';
class Ball extends BodyComponent<PinballGame> class Ball extends BodyComponent<PinballGame> {
with BlocComponent<ThemeCubit, ThemeState> {
Ball({ Ball({
required Vector2 position, required Vector2 position,
}) : _position = position; }) : _position = position;

@ -41,8 +41,9 @@ class CharacterSelectionView extends StatelessWidget {
const _CharacterSelectionGridView(), const _CharacterSelectionGridView(),
const SizedBox(height: 20), const SizedBox(height: 20),
TextButton( TextButton(
onPressed: () => onPressed: () => Navigator.of(context).push<void>(
Navigator.of(context).push<void>(PinballGamePage.route()), PinballGamePage.route(),
),
child: Text(l10n.start), child: Text(l10n.start),
), ),
], ],
@ -65,19 +66,19 @@ class _CharacterSelectionGridView extends StatelessWidget {
mainAxisSpacing: 20, mainAxisSpacing: 20,
crossAxisSpacing: 20, crossAxisSpacing: 20,
children: const [ children: const [
_CharacterImageButton( CharacterImageButton(
DashTheme(), DashTheme(),
key: Key('characterSelectionPage_dashButton'), key: Key('characterSelectionPage_dashButton'),
), ),
_CharacterImageButton( CharacterImageButton(
SparkyTheme(), SparkyTheme(),
key: Key('characterSelectionPage_sparkyButton'), key: Key('characterSelectionPage_sparkyButton'),
), ),
_CharacterImageButton( CharacterImageButton(
AndroidTheme(), AndroidTheme(),
key: Key('characterSelectionPage_androidButton'), key: Key('characterSelectionPage_androidButton'),
), ),
_CharacterImageButton( CharacterImageButton(
DinoTheme(), DinoTheme(),
key: Key('characterSelectionPage_dinoButton'), key: Key('characterSelectionPage_dinoButton'),
), ),
@ -87,8 +88,9 @@ class _CharacterSelectionGridView extends StatelessWidget {
} }
} }
class _CharacterImageButton extends StatelessWidget { @visibleForTesting
const _CharacterImageButton( class CharacterImageButton extends StatelessWidget {
const CharacterImageButton(
this.characterTheme, { this.characterTheme, {
Key? key, Key? key,
}) : super(key: key); }) : super(key: key);

@ -24,7 +24,7 @@ void main() {
group('CharacterSelectionPage', () { group('CharacterSelectionPage', () {
testWidgets('renders CharacterSelectionView', (tester) async { testWidgets('renders CharacterSelectionView', (tester) async {
await tester.pumpApp( await tester.pumpApp(
const CharacterSelectionPage(), CharacterSelectionPage(),
themeCubit: themeCubit, themeCubit: themeCubit,
); );
expect(find.byType(CharacterSelectionView), findsOneWidget); expect(find.byType(CharacterSelectionView), findsOneWidget);
@ -40,7 +40,7 @@ void main() {
Navigator.of(context) Navigator.of(context)
.push<void>(CharacterSelectionPage.route()); .push<void>(CharacterSelectionPage.route());
}, },
child: const Text('Tap me'), child: Text('Tap me'),
); );
}, },
), ),
@ -64,7 +64,7 @@ void main() {
); );
expect(find.text(titleText), findsOneWidget); expect(find.text(titleText), findsOneWidget);
expect(find.byType(Image), findsNWidgets(4)); expect(find.byType(CharacterImageButton), findsNWidgets(4));
expect(find.byType(TextButton), findsOneWidget); expect(find.byType(TextButton), findsOneWidget);
}); });
@ -98,4 +98,13 @@ void main() {
verify(() => navigator.push<void>(any())).called(1); verify(() => navigator.push<void>(any())).called(1);
}); });
}); });
testWidgets('CharacterImageButton renders correctly', (tester) async {
await tester.pumpApp(
CharacterImageButton(DashTheme()),
themeCubit: themeCubit,
);
expect(find.byType(Image), findsOneWidget);
});
} }

Loading…
Cancel
Save