prepare for multiple apps
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
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);
|
||||
});
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user