// This is a basic Flutter widget test. // // To perform an interaction with a widget in your test, use the WidgetTester // utility in the flutter_test package. For example, you can send tap and scroll // gestures. You can also use WidgetTester to find child widgets in the widget // tree, read text, and verify that the values of widget properties are correct. import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:simplistic_editor/basic_text_input_client.dart'; import 'package:simplistic_editor/main.dart'; import 'package:simplistic_editor/text_editing_delta_history_view.dart'; void main() { testWidgets('Default main page shows all components', (tester) async { await tester.pumpWidget(const MyApp()); // Elements on Style ToggleButton Toolbar. expect( find.widgetWithIcon(ToggleButtons, Icons.format_bold), findsOneWidget); expect(find.widgetWithIcon(ToggleButtons, Icons.format_italic), findsOneWidget); expect(find.widgetWithIcon(ToggleButtons, Icons.format_underline), findsOneWidget); // Elements on the main screen // Delta labels. expect(find.widgetWithText(Tooltip, "Delta Type"), findsOneWidget); expect(find.widgetWithText(Tooltip, "Delta Text"), findsOneWidget); expect(find.widgetWithText(Tooltip, "Delta Offset"), findsOneWidget); expect(find.widgetWithText(Tooltip, "New Selection"), findsOneWidget); expect(find.widgetWithText(Tooltip, "New Composing"), findsOneWidget); // Selection delta is generated and delta history is visible. await tester.tap(find.byType(BasicTextInputClient)); await tester.pumpAndSettle(); expect(find.widgetWithText(TextEditingDeltaView, "NonTextUpdate"), findsOneWidget); // Find tooltips. expect(find.byTooltip('The text that is being inserted or deleted'), findsOneWidget); expect( find.byTooltip( 'The type of text input that is occurring. Check out the documentation for TextEditingDelta for more information.'), findsOneWidget); expect( find.byTooltip( 'The offset in the text where the text input is occurring.'), findsOneWidget); expect( find.byTooltip( 'The new text selection range after the text input has occurred.'), findsOneWidget); // About Dialog expect(find.widgetWithIcon(IconButton, Icons.info_outline), findsOneWidget); await tester.tap(find.widgetWithIcon(IconButton, Icons.info_outline)); await tester.pumpAndSettle(); expect(find.widgetWithText(Center, 'About'), findsOneWidget); }); }