mirror of
https://github.com/flutter/samples.git
synced 2025-11-10 14:58:34 +00:00
Add simplistic editor to samples to showcase TextEditingDeltas (#1217)
* Add simplistic editor to samples * Toggle styles fix * update name * Add to CI and dependabot * update minimum dart sdk * fix pubspec * update README * Update README * Add shift + arrow key selection and copy/paste keyboard actions * Update README.md * copy edits to readme includes a sentence in each layer description whose accuracy I still need to verify * update pubspec * update pubspec.lock * Fix bug with disabling expansion of replacement when cursor is at edge of replacement Co-authored-by: Renzo Olivares <roliv@google.com> Co-authored-by: Craig Labenz <craig.labenz@gmail.com>
This commit is contained in:
57
simplistic_editor/test/main_screen_test.dart
Normal file
57
simplistic_editor/test/main_screen_test.dart
Normal file
@@ -0,0 +1,57 @@
|
||||
// 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';
|
||||
|
||||
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);
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user