Explorar el Código

Add tests for textScaleFactor

xuty hace 3 años
padre
commit
69ef401c2e

BIN
test/src/_goldens/text_scale_factor@1x.png


BIN
test/src/_goldens/text_scale_factor@2x.png


+ 76 - 0
test/src/terminal_view_test.dart

@@ -306,4 +306,80 @@ void main() {
       expect(output.join(), 'abc');
     });
   });
+
+  group(
+    'TerminalView.textScaleFactor',
+    () {
+      testWidgets(
+        'works',
+        (WidgetTester tester) async {
+          final terminal = Terminal();
+
+          final textScaleFactor = ValueNotifier(1.0);
+
+          await tester.pumpWidget(
+            MaterialApp(
+              home: Scaffold(
+                body: ValueListenableBuilder<double>(
+                  valueListenable: textScaleFactor,
+                  builder: (context, textScaleFactor, child) {
+                    return TerminalView(
+                      terminal,
+                      textScaleFactor: textScaleFactor,
+                    );
+                  },
+                ),
+              ),
+            ),
+          );
+
+          terminal.write('Hello World');
+          await tester.pump();
+
+          await expectLater(
+            find.byType(TerminalView),
+            matchesGoldenFile('_goldens/text_scale_factor@1x.png'),
+          );
+
+          textScaleFactor.value = 2.0;
+          await tester.pump();
+
+          await expectLater(
+            find.byType(TerminalView),
+            matchesGoldenFile('_goldens/text_scale_factor@2x.png'),
+          );
+        },
+        skip: !Platform.isMacOS,
+      );
+
+      testWidgets(
+        'can obtain textScaleFactor from parent',
+        (WidgetTester tester) async {
+          final terminal = Terminal();
+
+          await tester.pumpWidget(
+            MaterialApp(
+              home: Scaffold(
+                body: MediaQuery(
+                  data: const MediaQueryData(textScaleFactor: 2.0),
+                  child: TerminalView(
+                    terminal,
+                  ),
+                ),
+              ),
+            ),
+          );
+
+          terminal.write('Hello World');
+          await tester.pump();
+
+          await expectLater(
+            find.byType(TerminalView),
+            matchesGoldenFile('_goldens/text_scale_factor@2x.png'),
+          );
+        },
+      );
+    },
+    skip: !Platform.isMacOS,
+  );
 }