Files
minstrel/flutter_client/test/theme/theme_extension_test.dart
T
bvandeusen 2729ab897f feat(flutter): FabledSwordTheme ThemeExtension + Material 3 ThemeData
Widgets read tokens via Theme.of(ctx).extension<FabledSwordTheme>().
Material 3 ColorScheme bound to FabledSword tokens. Body text uses
GoogleFonts.interTextTheme() so the fonts work without bundling .ttf
files (offline-from-cold-launch is a separate question once #357 lands).
2026-05-02 16:56:38 -04:00

27 lines
849 B
Dart

import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:minstrel/theme/theme_data.dart';
import 'package:minstrel/theme/theme_extension.dart';
import 'package:minstrel/theme/tokens.dart';
void main() {
testWidgets('Theme exposes FabledSwordTheme with expected accent', (tester) async {
late FabledSwordTheme captured;
await tester.pumpWidget(
MaterialApp(
theme: buildThemeData(),
home: Builder(
builder: (ctx) {
captured = Theme.of(ctx).extension<FabledSwordTheme>()!;
return const SizedBox.shrink();
},
),
),
);
expect(captured.accent, FabledSwordTokens.accent);
expect(captured.parchment, FabledSwordTokens.parchment);
expect(captured.body.fontFamily, FabledSwordTokens.fontBody);
});
}