Skip to content
This repository has been archived by the owner on Feb 21, 2024. It is now read-only.

Commit

Permalink
fix: fix text style tests for CounterComponent
Browse files Browse the repository at this point in the history
  • Loading branch information
renancaraujo committed Sep 14, 2023
1 parent 7152755 commit 8bcae6e
Show file tree
Hide file tree
Showing 6 changed files with 46 additions and 32 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
import 'package:flame/components.dart';
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:very_good_flame_game/game/game.dart';

class CounterComponent extends PositionComponent
Expand All @@ -17,10 +15,7 @@ class CounterComponent extends PositionComponent
text = TextComponent(
anchor: Anchor.center,
textRenderer: TextPaint(
style: GoogleFonts.poppins(
color: Colors.white,
fontSize: 4,
),
style: game.textStyle,
),
),
);
Expand Down
7 changes: 4 additions & 3 deletions src/very_good_flame_game/lib/game/very_good_flame_game.dart
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
import 'dart:ui';

import 'package:audioplayers/audioplayers.dart';
import 'package:flame/components.dart';
import 'package:flame/game.dart';
import 'package:flame/palette.dart';
import 'package:flutter/painting.dart';
import 'package:very_good_flame_game/game/game.dart';
import 'package:very_good_flame_game/l10n/l10n.dart';

class VeryGoodFlameGame extends FlameGame {
VeryGoodFlameGame({
required this.l10n,
required this.effectPlayer,
required this.textStyle,
}) {
images.prefix = '';
}
Expand All @@ -19,6 +18,8 @@ class VeryGoodFlameGame extends FlameGame {

final AudioPlayer effectPlayer;

final TextStyle textStyle;

int counter = 0;

@override
Expand Down
7 changes: 7 additions & 0 deletions src/very_good_flame_game/lib/game/view/game_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ class GameView extends StatefulWidget {
const GameView({super.key, this.game});

final FlameGame? game;

@override
State<GameView> createState() => _GameViewState();
}
Expand All @@ -57,10 +58,16 @@ class _GameViewState extends State<GameView> {

@override
Widget build(BuildContext context) {
final textStyle = Theme.of(context).textTheme.bodySmall!.copyWith(
color: Colors.white,
fontSize: 4,
);

_game ??= widget.game ??
VeryGoodFlameGame(
l10n: context.l10n,
effectPlayer: context.read<AudioCubit>().effectPlayer,
textStyle: textStyle,
);
return Stack(
children: [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import 'dart:io';
import 'package:audioplayers/audioplayers.dart';
import 'package:flame/extensions.dart';
import 'package:flame_test/flame_test.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:mocktail/mocktail.dart';
Expand All @@ -16,35 +17,27 @@ class _MockAppLocalizations extends Mock implements AppLocalizations {}
class _MockAudioPlayer extends Mock implements AudioPlayer {}

class _VeryGoodFlameGame extends VeryGoodFlameGame {
_VeryGoodFlameGame({required super.l10n, required super.effectPlayer});
_VeryGoodFlameGame({
required super.l10n,
required super.effectPlayer,
required super.textStyle,
});

@override
Future<void> onLoad() async {}
}

void main() {
TestWidgetsFlutterBinding.ensureInitialized();
// https://github.com/material-foundation/flutter-packages/issues/286#issuecomment-1406343761
HttpOverrides.global = null;

setUpAll(() {
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
.setMockMethodCallHandler(
const MethodChannel('plugins.flutter.io/path_provider'),
(message) async => switch (message.method) {
('getTemporaryDirectory' || 'getApplicationSupportDirectory') =>
Directory.systemTemp.createTempSync('fake').path,
_ => null,
},
);
});

final l10n = _MockAppLocalizations();
_VeryGoodFlameGame createFlameGame() {
return _VeryGoodFlameGame(l10n: l10n, effectPlayer: _MockAudioPlayer());
return _VeryGoodFlameGame(
l10n: l10n,
effectPlayer: _MockAudioPlayer(),
textStyle: const TextStyle(),
);
}

group('CounterComponent', () {
group('$CounterComponent', () {
setUp(() {
when(() => l10n.counterText(any())).thenAnswer(
(invocation) => 'counterText: ${invocation.positionalArguments[0]}',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import 'package:audioplayers/audioplayers.dart';
import 'package:flame/components.dart';
import 'package:flame/game.dart';
import 'package:flame_test/flame_test.dart';
import 'package:flutter/painting.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:mocktail/mocktail.dart';
import 'package:very_good_flame_game/game/entities/unicorn/behaviors/behaviors.dart';
Expand All @@ -17,7 +18,11 @@ class _MockAppLocalizations extends Mock implements AppLocalizations {}
class _MockAudioPlayer extends Mock implements AudioPlayer {}

class _VeryGoodFlameGame extends VeryGoodFlameGame {
_VeryGoodFlameGame({required super.l10n, required super.effectPlayer});
_VeryGoodFlameGame({
required super.l10n,
required super.effectPlayer,
required super.textStyle,
});

@override
Future<void> onLoad() async {}
Expand All @@ -29,7 +34,11 @@ void main() {
final l10n = _MockAppLocalizations();
final audioPlayer = _MockAudioPlayer();
final flameTester = FlameTester(
() => _VeryGoodFlameGame(l10n: l10n, effectPlayer: audioPlayer),
() => _VeryGoodFlameGame(
l10n: l10n,
effectPlayer: audioPlayer,
textStyle: const TextStyle(),
),
);

group('TappingBehavior', () {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import 'package:audioplayers/audioplayers.dart';
import 'package:flame/extensions.dart';
import 'package:flame_test/flame_test.dart';
import 'package:flutter/painting.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:mocktail/mocktail.dart';
import 'package:very_good_flame_game/game/entities/unicorn/behaviors/behaviors.dart';
Expand All @@ -14,7 +15,11 @@ class _MockAppLocalizations extends Mock implements AppLocalizations {}
class _MockAudioPlayer extends Mock implements AudioPlayer {}

class _VeryGoodFlameGame extends VeryGoodFlameGame {
_VeryGoodFlameGame({required super.l10n, required super.effectPlayer});
_VeryGoodFlameGame({
required super.l10n,
required super.effectPlayer,
required super.textStyle,
});

@override
Future<void> onLoad() async {}
Expand All @@ -25,7 +30,11 @@ void main() {

final l10n = _MockAppLocalizations();
_VeryGoodFlameGame createFlameGame() {
return _VeryGoodFlameGame(l10n: l10n, effectPlayer: _MockAudioPlayer());
return _VeryGoodFlameGame(
l10n: l10n,
effectPlayer: _MockAudioPlayer(),
textStyle: const TextStyle(),
);
}

group('Unicorn', () {
Expand Down

0 comments on commit 8bcae6e

Please sign in to comment.