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);
  });
}
