xworkmate-app/test/theme/app_theme_suite.dart

40 lines
1.3 KiB
Dart

@TestOn('vm')
library;
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:xworkmate/theme/app_theme.dart';
void main() {
test('AppTheme uses compact mobile typography on iOS and Android', () {
final iosTheme = AppTheme.light(platform: TargetPlatform.iOS);
final androidTheme = AppTheme.light(platform: TargetPlatform.android);
expect(iosTheme.textTheme.displaySmall?.fontSize, 24);
expect(androidTheme.textTheme.displaySmall?.fontSize, 24);
expect(iosTheme.textTheme.headlineSmall?.fontSize, AppTypography.titleSize);
expect(
androidTheme.textTheme.headlineSmall?.fontSize,
AppTypography.titleSize,
);
expect(
iosTheme.filledButtonTheme.style?.minimumSize?.resolve({})?.height,
AppSizes.buttonHeightMobile,
);
expect(
androidTheme.inputDecorationTheme.constraints?.minHeight,
AppSizes.inputHeight,
);
});
test('AppTheme keeps larger display typography on desktop surfaces', () {
final desktopTheme = AppTheme.light(platform: TargetPlatform.macOS);
expect(desktopTheme.textTheme.displaySmall?.fontSize, 28);
expect(
desktopTheme.filledButtonTheme.style?.minimumSize?.resolve({})?.height,
AppSizes.buttonHeightDesktop,
);
});
}