5
5
import 'package:a11y_assessments/main.dart' ;
6
6
import 'package:flutter/material.dart' ;
7
7
import 'package:flutter_test/flutter_test.dart' ;
8
+ import 'package:material_color_utilities/material_color_utilities.dart' ;
8
9
9
10
10
11
void main () {
@@ -14,4 +15,67 @@ void main() {
14
15
expect (app.theme! .brightness, equals (Brightness .light));
15
16
expect (app.darkTheme! .brightness, equals (Brightness .dark));
16
17
});
18
+
19
+ testWidgets ('App can generate high-contrast color scheme' , (WidgetTester tester) async {
20
+ await tester.pumpWidget (const MediaQuery (
21
+ data: MediaQueryData (
22
+ highContrast: true ,
23
+ ),
24
+ child: App ()
25
+ ));
26
+
27
+ final MaterialApp app = find.byType (MaterialApp ).evaluate ().first.widget as MaterialApp ;
28
+
29
+ final DynamicScheme highContrastScheme = SchemeTonalSpot (sourceColorHct: Hct .fromInt (const Color (0xff6750a4 ).value), isDark: false , contrastLevel: 1.0 );
30
+ final ColorScheme appScheme = app.theme! .colorScheme;
31
+
32
+ expect (appScheme.primary.value, MaterialDynamicColors .primary.getArgb (highContrastScheme));
33
+ expect (appScheme.onPrimary.value, MaterialDynamicColors .onPrimary.getArgb (highContrastScheme));
34
+ expect (appScheme.primaryContainer.value, MaterialDynamicColors .primaryContainer.getArgb (highContrastScheme));
35
+ expect (appScheme.onPrimaryContainer.value, MaterialDynamicColors .onPrimaryContainer.getArgb (highContrastScheme));
36
+ expect (appScheme.primaryFixed.value, MaterialDynamicColors .primaryFixed.getArgb (highContrastScheme));
37
+ expect (appScheme.primaryFixedDim.value, MaterialDynamicColors .primaryFixedDim.getArgb (highContrastScheme));
38
+ expect (appScheme.onPrimaryFixed.value, MaterialDynamicColors .onPrimaryFixed.getArgb (highContrastScheme));
39
+ expect (appScheme.onPrimaryFixedVariant.value, MaterialDynamicColors .onPrimaryFixedVariant.getArgb (highContrastScheme));
40
+ expect (appScheme.secondary.value, MaterialDynamicColors .secondary.getArgb (highContrastScheme));
41
+ expect (appScheme.onSecondary.value, MaterialDynamicColors .onSecondary.getArgb (highContrastScheme));
42
+ expect (appScheme.secondaryContainer.value, MaterialDynamicColors .secondaryContainer.getArgb (highContrastScheme));
43
+ expect (appScheme.onSecondaryContainer.value, MaterialDynamicColors .onSecondaryContainer.getArgb (highContrastScheme));
44
+ expect (appScheme.secondaryFixed.value, MaterialDynamicColors .secondaryFixed.getArgb (highContrastScheme));
45
+ expect (appScheme.secondaryFixedDim.value, MaterialDynamicColors .secondaryFixedDim.getArgb (highContrastScheme));
46
+ expect (appScheme.onSecondaryFixed.value, MaterialDynamicColors .onSecondaryFixed.getArgb (highContrastScheme));
47
+ expect (appScheme.onSecondaryFixedVariant.value, MaterialDynamicColors .onSecondaryFixedVariant.getArgb (highContrastScheme));
48
+ expect (appScheme.tertiary.value, MaterialDynamicColors .tertiary.getArgb (highContrastScheme));
49
+ expect (appScheme.onTertiary.value, MaterialDynamicColors .onTertiary.getArgb (highContrastScheme));
50
+ expect (appScheme.tertiaryContainer.value, MaterialDynamicColors .tertiaryContainer.getArgb (highContrastScheme));
51
+ expect (appScheme.onTertiaryContainer.value, MaterialDynamicColors .onTertiaryContainer.getArgb (highContrastScheme));
52
+ expect (appScheme.tertiaryFixed.value, MaterialDynamicColors .tertiaryFixed.getArgb (highContrastScheme));
53
+ expect (appScheme.tertiaryFixedDim.value, MaterialDynamicColors .tertiaryFixedDim.getArgb (highContrastScheme));
54
+ expect (appScheme.onTertiaryFixed.value, MaterialDynamicColors .onTertiaryFixed.getArgb (highContrastScheme));
55
+ expect (appScheme.onTertiaryFixedVariant.value, MaterialDynamicColors .onTertiaryFixedVariant.getArgb (highContrastScheme));
56
+ expect (appScheme.error.value, MaterialDynamicColors .error.getArgb (highContrastScheme));
57
+ expect (appScheme.onError.value, MaterialDynamicColors .onError.getArgb (highContrastScheme));
58
+ expect (appScheme.errorContainer.value, MaterialDynamicColors .errorContainer.getArgb (highContrastScheme));
59
+ expect (appScheme.onErrorContainer.value, MaterialDynamicColors .onErrorContainer.getArgb (highContrastScheme));
60
+ expect (appScheme.background.value, MaterialDynamicColors .background.getArgb (highContrastScheme));
61
+ expect (appScheme.onBackground.value, MaterialDynamicColors .onBackground.getArgb (highContrastScheme));
62
+ expect (appScheme.surface.value, MaterialDynamicColors .surface.getArgb (highContrastScheme));
63
+ expect (appScheme.surfaceDim.value, MaterialDynamicColors .surfaceDim.getArgb (highContrastScheme));
64
+ expect (appScheme.surfaceBright.value, MaterialDynamicColors .surfaceBright.getArgb (highContrastScheme));
65
+ expect (appScheme.surfaceContainerLowest.value, MaterialDynamicColors .surfaceContainerLowest.getArgb (highContrastScheme));
66
+ expect (appScheme.surfaceContainerLow.value, MaterialDynamicColors .surfaceContainerLow.getArgb (highContrastScheme));
67
+ expect (appScheme.surfaceContainer.value, MaterialDynamicColors .surfaceContainer.getArgb (highContrastScheme));
68
+ expect (appScheme.surfaceContainerHigh.value, MaterialDynamicColors .surfaceContainerHigh.getArgb (highContrastScheme));
69
+ expect (appScheme.surfaceContainerHighest.value, MaterialDynamicColors .surfaceContainerHighest.getArgb (highContrastScheme));
70
+ expect (appScheme.onSurface.value, MaterialDynamicColors .onSurface.getArgb (highContrastScheme));
71
+ expect (appScheme.surfaceVariant.value, MaterialDynamicColors .surfaceVariant.getArgb (highContrastScheme));
72
+ expect (appScheme.onSurfaceVariant.value, MaterialDynamicColors .onSurfaceVariant.getArgb (highContrastScheme));
73
+ expect (appScheme.outline.value, MaterialDynamicColors .outline.getArgb (highContrastScheme));
74
+ expect (appScheme.outlineVariant.value, MaterialDynamicColors .outlineVariant.getArgb (highContrastScheme));
75
+ expect (appScheme.shadow.value, MaterialDynamicColors .shadow.getArgb (highContrastScheme));
76
+ expect (appScheme.scrim.value, MaterialDynamicColors .scrim.getArgb (highContrastScheme));
77
+ expect (appScheme.inverseSurface.value, MaterialDynamicColors .inverseSurface.getArgb (highContrastScheme));
78
+ expect (appScheme.onInverseSurface.value, MaterialDynamicColors .inverseOnSurface.getArgb (highContrastScheme));
79
+ expect (appScheme.inversePrimary.value, MaterialDynamicColors .inversePrimary.getArgb (highContrastScheme));
80
+ });
17
81
}
0 commit comments