You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
import 'package:flame/src/game/flame_game.dart';
|
|
|
|
import 'package:flame_test/flame_test.dart';
|
|
|
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
|
|
|
|
|
|
|
class FlameBlocTester<T extends FlameGame, B extends Bloc<dynamic, dynamic>>
|
|
|
|
extends FlameTester<T> {
|
|
|
|
FlameBlocTester({
|
|
|
|
required GameCreateFunction<T> gameBuilder,
|
|
|
|
required B Function() blocBuilder,
|
|
|
|
List<RepositoryProvider> Function()? repositories,
|
|
|
|
}) : super(
|
|
|
|
gameBuilder,
|
|
|
|
pumpWidget: (gameWidget, tester) async {
|
|
|
|
await tester.pumpWidget(
|
|
|
|
BlocProvider.value(
|
|
|
|
value: blocBuilder(),
|
|
|
|
child: repositories == null
|
|
|
|
? gameWidget
|
|
|
|
: MultiRepositoryProvider(
|
|
|
|
providers: repositories.call(),
|
|
|
|
child: gameWidget,
|
|
|
|
),
|
|
|
|
),
|
|
|
|
);
|
|
|
|
},
|
|
|
|
);
|
|
|
|
}
|