1
0
mirror of https://github.com/flutter/samples.git synced 2025-11-08 13:58:47 +00:00
Files
samples/simplistic_editor/test/main_screen_test.dart
Eric Windmill 2999d738b8 Dart 3.9 / Flutter 3.35 [first LLM release] (#2714)
I got carried away with Gemini and basically rewrote CI and the release
process for the new LLM reality. This work was largely completed by
Gemini.

- Bump all SDK versions to the current beta (3.9.0-0)
- Run `flutter channel beta`
- Wrote `ci_script.dart` to replace the bash scripts
- Converted repository to pub workspace #2499 
- Added llm.md and release.md
- Added redirect for deprecated Samples Index

## Pre-launch Checklist

- [x] I read the [Flutter Style Guide] _recently_, and have followed its
advice.
- [x] I signed the [CLA].
- [x] I read the [Contributors Guide].
- [x] I have added sample code updates to the [changelog].
- [x] I updated/added relevant documentation (doc comments with `///`).
2025-08-14 12:26:24 -07:00

83 lines
2.7 KiB
Dart

// 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);
});
}