From 5d0f6b516c8aa2d40ba5486284947b500925a955 Mon Sep 17 00:00:00 2001 From: Alan Mantoux Date: Mon, 12 Aug 2024 09:49:40 +0200 Subject: [PATCH] Add tests --- .../fleather/test/widgets/editor_test.dart | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/packages/fleather/test/widgets/editor_test.dart b/packages/fleather/test/widgets/editor_test.dart index 692145b6..d681d93b 100644 --- a/packages/fleather/test/widgets/editor_test.dart +++ b/packages/fleather/test/widgets/editor_test.dart @@ -299,6 +299,35 @@ void main() { expect(sentData?.delta, Delta()..insert('t T')); }); + testWidgets( + 'Copy sends correct data to clipboard manager when selection extents are inverted', + (tester) async { + prepareClipboard(); + FleatherClipboardData? sentData; + final editor = EditorSandBox( + tester: tester, + document: ParchmentDocument.fromJson([ + {'insert': 'Test Text\n'} + ]), + autofocus: true, + clipboardManager: FleatherCustomClipboardManager( + getData: () => throw UnimplementedError(), + setData: (data) async => sentData = data, + ), + ); + await editor.pump(); + final RawEditorState state = + tester.state(find.byType(RawEditor)); + await editor.updateSelection(base: 6, extent: 3); + state.showToolbar(createIfNull: true); + await tester.pump(); + final finder = find.text('Copy'); + await tester.tap(finder); + await tester.pumpAndSettle(throttleDuration); + expect(sentData?.plainText, 't T'); + expect(sentData?.delta, Delta()..insert('t T')); + }); + testWidgets('Cut intent sends data to clipboard manager', (tester) async { prepareClipboard(); FleatherClipboardData? sentData;