mirror of https://github.com/flutter/pinball.git
chore: rename ThemeCubit to CharacterThemeCubit (#233)
parent
377df64747
commit
bd9d219f0b
@ -0,0 +1,15 @@
|
|||||||
|
// ignore_for_file: public_member_api_docs
|
||||||
|
// TODO(allisonryan0002): Document this section when the API is stable.
|
||||||
|
|
||||||
|
part of 'character_theme_cubit.dart';
|
||||||
|
|
||||||
|
class CharacterThemeState extends Equatable {
|
||||||
|
const CharacterThemeState(this.characterTheme);
|
||||||
|
|
||||||
|
const CharacterThemeState.initial() : characterTheme = const DashTheme();
|
||||||
|
|
||||||
|
final CharacterTheme characterTheme;
|
||||||
|
|
||||||
|
@override
|
||||||
|
List<Object> get props => [characterTheme];
|
||||||
|
}
|
@ -0,0 +1,2 @@
|
|||||||
|
export 'cubit/character_theme_cubit.dart';
|
||||||
|
export 'view/view.dart';
|
@ -1,16 +0,0 @@
|
|||||||
// ignore_for_file: public_member_api_docs
|
|
||||||
// TODO(allisonryan0002): Document this section when the API is stable.
|
|
||||||
|
|
||||||
part of 'theme_cubit.dart';
|
|
||||||
|
|
||||||
class ThemeState extends Equatable {
|
|
||||||
const ThemeState(this.theme);
|
|
||||||
|
|
||||||
const ThemeState.initial()
|
|
||||||
: theme = const PinballTheme(characterTheme: DashTheme());
|
|
||||||
|
|
||||||
final PinballTheme theme;
|
|
||||||
|
|
||||||
@override
|
|
||||||
List<Object> get props => [theme];
|
|
||||||
}
|
|
@ -1,5 +1,4 @@
|
|||||||
library pinball_theme;
|
library pinball_theme;
|
||||||
|
|
||||||
export 'src/generated/generated.dart';
|
export 'src/generated/generated.dart';
|
||||||
export 'src/pinball_theme.dart';
|
|
||||||
export 'src/themes/themes.dart';
|
export 'src/themes/themes.dart';
|
||||||
|
@ -1,23 +0,0 @@
|
|||||||
import 'package:equatable/equatable.dart';
|
|
||||||
import 'package:pinball_theme/pinball_theme.dart';
|
|
||||||
|
|
||||||
/// {@template pinball_theme}
|
|
||||||
/// Defines all theme assets and attributes.
|
|
||||||
///
|
|
||||||
/// Game components should have a getter specified here to load their
|
|
||||||
/// corresponding assets for the game.
|
|
||||||
/// {@endtemplate}
|
|
||||||
class PinballTheme extends Equatable {
|
|
||||||
/// {@macro pinball_theme}
|
|
||||||
const PinballTheme({
|
|
||||||
required CharacterTheme characterTheme,
|
|
||||||
}) : _characterTheme = characterTheme;
|
|
||||||
|
|
||||||
final CharacterTheme _characterTheme;
|
|
||||||
|
|
||||||
/// [CharacterTheme] for the chosen character.
|
|
||||||
CharacterTheme get characterTheme => _characterTheme;
|
|
||||||
|
|
||||||
@override
|
|
||||||
List<Object?> get props => [_characterTheme];
|
|
||||||
}
|
|
@ -1,28 +0,0 @@
|
|||||||
// ignore_for_file: prefer_const_constructors
|
|
||||||
|
|
||||||
import 'package:flutter_test/flutter_test.dart';
|
|
||||||
import 'package:pinball_theme/pinball_theme.dart';
|
|
||||||
|
|
||||||
void main() {
|
|
||||||
group('PinballTheme', () {
|
|
||||||
const characterTheme = SparkyTheme();
|
|
||||||
|
|
||||||
test('can be instantiated', () {
|
|
||||||
expect(PinballTheme(characterTheme: characterTheme), isNotNull);
|
|
||||||
});
|
|
||||||
|
|
||||||
test('supports value equality', () {
|
|
||||||
expect(
|
|
||||||
PinballTheme(characterTheme: characterTheme),
|
|
||||||
equals(PinballTheme(characterTheme: characterTheme)),
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
test('characterTheme is correct', () {
|
|
||||||
expect(
|
|
||||||
PinballTheme(characterTheme: characterTheme).characterTheme,
|
|
||||||
equals(characterTheme),
|
|
||||||
);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
@ -0,0 +1,25 @@
|
|||||||
|
import 'package:bloc_test/bloc_test.dart';
|
||||||
|
import 'package:flutter_test/flutter_test.dart';
|
||||||
|
import 'package:pinball/select_character/select_character.dart';
|
||||||
|
import 'package:pinball_theme/pinball_theme.dart';
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
group('CharacterThemeCubit', () {
|
||||||
|
test('initial state has Dash character theme', () {
|
||||||
|
final characterThemeCubit = CharacterThemeCubit();
|
||||||
|
expect(
|
||||||
|
characterThemeCubit.state.characterTheme,
|
||||||
|
equals(const DashTheme()),
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
blocTest<CharacterThemeCubit, CharacterThemeState>(
|
||||||
|
'charcterSelected emits selected character theme',
|
||||||
|
build: CharacterThemeCubit.new,
|
||||||
|
act: (bloc) => bloc.characterSelected(const SparkyTheme()),
|
||||||
|
expect: () => [
|
||||||
|
const CharacterThemeState(SparkyTheme()),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
@ -1,18 +1,18 @@
|
|||||||
// ignore_for_file: prefer_const_constructors
|
// ignore_for_file: prefer_const_constructors
|
||||||
|
|
||||||
import 'package:flutter_test/flutter_test.dart';
|
import 'package:flutter_test/flutter_test.dart';
|
||||||
import 'package:pinball/theme/theme.dart';
|
import 'package:pinball/select_character/select_character.dart';
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
group('ThemeState', () {
|
group('ThemeState', () {
|
||||||
test('can be instantiated', () {
|
test('can be instantiated', () {
|
||||||
expect(const ThemeState.initial(), isNotNull);
|
expect(const CharacterThemeState.initial(), isNotNull);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('supports value equality', () {
|
test('supports value equality', () {
|
||||||
expect(
|
expect(
|
||||||
ThemeState.initial(),
|
CharacterThemeState.initial(),
|
||||||
equals(const ThemeState.initial()),
|
equals(const CharacterThemeState.initial()),
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
@ -1,22 +0,0 @@
|
|||||||
import 'package:bloc_test/bloc_test.dart';
|
|
||||||
import 'package:flutter_test/flutter_test.dart';
|
|
||||||
import 'package:pinball/theme/theme.dart';
|
|
||||||
import 'package:pinball_theme/pinball_theme.dart';
|
|
||||||
|
|
||||||
void main() {
|
|
||||||
group('ThemeCubit', () {
|
|
||||||
test('initial state has Dash character theme', () {
|
|
||||||
final themeCubit = ThemeCubit();
|
|
||||||
expect(themeCubit.state.theme.characterTheme, equals(const DashTheme()));
|
|
||||||
});
|
|
||||||
|
|
||||||
blocTest<ThemeCubit, ThemeState>(
|
|
||||||
'charcterSelected emits selected character theme',
|
|
||||||
build: ThemeCubit.new,
|
|
||||||
act: (bloc) => bloc.characterSelected(const SparkyTheme()),
|
|
||||||
expect: () => [
|
|
||||||
const ThemeState(PinballTheme(characterTheme: SparkyTheme())),
|
|
||||||
],
|
|
||||||
);
|
|
||||||
});
|
|
||||||
}
|
|
Loading…
Reference in new issue