diff --git a/packages/pinball_components/test/helpers/helpers.dart b/packages/pinball_components/test/helpers/helpers.dart index 312f42ec..b5326db2 100644 --- a/packages/pinball_components/test/helpers/helpers.dart +++ b/packages/pinball_components/test/helpers/helpers.dart @@ -1,2 +1,3 @@ +export 'key_testers.dart'; export 'mocks.dart'; export 'test_game.dart'; diff --git a/packages/pinball_components/test/helpers/key_testers.dart b/packages/pinball_components/test/helpers/key_testers.dart new file mode 100644 index 00000000..04fed1da --- /dev/null +++ b/packages/pinball_components/test/helpers/key_testers.dart @@ -0,0 +1,37 @@ +import 'package:flutter/services.dart'; +import 'package:meta/meta.dart'; +import 'package:mocktail/mocktail.dart'; + +import 'helpers.dart'; + +@isTest +void testRawKeyUpEvents( + List keys, + Function(RawKeyUpEvent) test, +) { + for (final key in keys) { + test(_mockKeyUpEvent(key)); + } +} + +RawKeyUpEvent _mockKeyUpEvent(LogicalKeyboardKey key) { + final event = MockRawKeyUpEvent(); + when(() => event.logicalKey).thenReturn(key); + return event; +} + +@isTest +void testRawKeyDownEvents( + List keys, + Function(RawKeyDownEvent) test, +) { + for (final key in keys) { + test(_mockKeyDownEvent(key)); + } +} + +RawKeyDownEvent _mockKeyDownEvent(LogicalKeyboardKey key) { + final event = MockRawKeyDownEvent(); + when(() => event.logicalKey).thenReturn(key); + return event; +} diff --git a/packages/pinball_components/test/helpers/mocks.dart b/packages/pinball_components/test/helpers/mocks.dart index 67df9918..b7a0ecb5 100644 --- a/packages/pinball_components/test/helpers/mocks.dart +++ b/packages/pinball_components/test/helpers/mocks.dart @@ -1,5 +1,21 @@ import 'dart:ui'; +import 'package:flutter/rendering.dart'; +import 'package:flutter/services.dart'; import 'package:mocktail/mocktail.dart'; class MockCanvas extends Mock implements Canvas {} + +class MockRawKeyDownEvent extends Mock implements RawKeyDownEvent { + @override + String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { + return super.toString(); + } +} + +class MockRawKeyUpEvent extends Mock implements RawKeyUpEvent { + @override + String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { + return super.toString(); + } +} diff --git a/test/game/components/board_side_test.dart b/packages/pinball_components/test/src/components/board_side_test.dart similarity index 92% rename from test/game/components/board_side_test.dart rename to packages/pinball_components/test/src/components/board_side_test.dart index ba201065..7c17828d 100644 --- a/test/game/components/board_side_test.dart +++ b/packages/pinball_components/test/src/components/board_side_test.dart @@ -1,5 +1,5 @@ import 'package:flutter_test/flutter_test.dart'; -import 'package:pinball/game/game.dart'; +import 'package:pinball_components/pinball_components.dart'; void main() { group( diff --git a/test/game/components/flipper_test.dart b/packages/pinball_components/test/src/components/flipper_test.dart similarity index 99% rename from test/game/components/flipper_test.dart rename to packages/pinball_components/test/src/components/flipper_test.dart index ac2c32d8..65c44028 100644 --- a/test/game/components/flipper_test.dart +++ b/packages/pinball_components/test/src/components/flipper_test.dart @@ -13,7 +13,7 @@ import '../../helpers/helpers.dart'; void main() { TestWidgetsFlutterBinding.ensureInitialized(); - final flameTester = FlameTester(PinballGameTest.create); + final flameTester = FlameTester(TestGame.new); group( 'Flipper', diff --git a/test/game/components/joint_anchor_test.dart b/packages/pinball_components/test/src/components/joint_anchor_test.dart similarity index 94% rename from test/game/components/joint_anchor_test.dart rename to packages/pinball_components/test/src/components/joint_anchor_test.dart index 652bd445..f7c341dd 100644 --- a/test/game/components/joint_anchor_test.dart +++ b/packages/pinball_components/test/src/components/joint_anchor_test.dart @@ -3,7 +3,7 @@ import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:flame_test/flame_test.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:pinball/game/game.dart'; +import 'package:pinball_components/pinball_components.dart'; void main() { TestWidgetsFlutterBinding.ensureInitialized(); diff --git a/test/game/components/baseboard_test.dart b/test/game/components/baseboard_test.dart index f834a41e..37c3c978 100644 --- a/test/game/components/baseboard_test.dart +++ b/test/game/components/baseboard_test.dart @@ -4,6 +4,7 @@ import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:flame_test/flame_test.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:pinball/game/game.dart'; +import 'package:pinball_components/pinball_components.dart'; void main() { group('Baseboard', () { diff --git a/test/game/components/board_test.dart b/test/game/components/board_test.dart index 5a4b95dc..8aad6fbe 100644 --- a/test/game/components/board_test.dart +++ b/test/game/components/board_test.dart @@ -3,6 +3,7 @@ import 'package:flame_test/flame_test.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:pinball/game/game.dart'; +import 'package:pinball_components/pinball_components.dart'; import '../../helpers/helpers.dart'; diff --git a/test/game/components/kicker_test.dart b/test/game/components/kicker_test.dart index 211ff8ad..333c7fbe 100644 --- a/test/game/components/kicker_test.dart +++ b/test/game/components/kicker_test.dart @@ -4,6 +4,7 @@ import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:flame_test/flame_test.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:pinball/game/game.dart'; +import 'package:pinball_components/pinball_components.dart'; void main() { group('Kicker', () {