Files
MrbWebLibre/app/test/presentation/main_app_test.dart
T

62 lines
1.7 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:weblibre/presentation/main_app.dart';
void main() {
group('applyAppMediaQueryOverrides', () {
test('returns the original media query when no overrides are enabled', () {
const mediaQuery = MediaQueryData();
final result = applyAppMediaQueryOverrides(
mediaQuery: mediaQuery,
uiScaleFactor: 1.0,
disableAnimations: false,
);
expect(result, same(mediaQuery));
});
test(
'preserves the system animation preference when app override is off',
() {
const mediaQuery = MediaQueryData(disableAnimations: true);
final result = applyAppMediaQueryOverrides(
mediaQuery: mediaQuery,
uiScaleFactor: 1.0,
disableAnimations: false,
);
expect(result.disableAnimations, isTrue);
expect(result, same(mediaQuery));
},
);
test('forces animations off when the app setting is enabled', () {
// ignore: avoid_redundant_argument_values
const mediaQuery = MediaQueryData(disableAnimations: false);
final result = applyAppMediaQueryOverrides(
mediaQuery: mediaQuery,
uiScaleFactor: 1.0,
disableAnimations: true,
);
expect(result.disableAnimations, isTrue);
});
test('applies ui scale on top of the base text scaler', () {
const mediaQuery = MediaQueryData();
final result = applyAppMediaQueryOverrides(
mediaQuery: mediaQuery,
uiScaleFactor: 1.25,
disableAnimations: false,
);
expect(result.textScaler.scale(20), 25);
});
});
}