From f8fbdb8e335a000592bc07721e6e6277e9b9bbfa Mon Sep 17 00:00:00 2001 From: operatorultra <105389680+operatorultra@users.noreply.github.com> Date: Fri, 21 Jul 2023 23:11:23 +0200 Subject: [PATCH] Add test for custom context menu --- test/widgets/editor_test.dart | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/test/widgets/editor_test.dart b/test/widgets/editor_test.dart index 3fd425fc..db7b9dc9 100644 --- a/test/widgets/editor_test.dart +++ b/test/widgets/editor_test.dart @@ -4,6 +4,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_quill/flutter_quill.dart'; import 'package:flutter_quill/flutter_quill_test.dart'; +import 'package:flutter_quill/src/widgets/raw_editor.dart'; import 'package:flutter_test/flutter_test.dart'; void main() { @@ -78,5 +79,32 @@ void main() { expect(error, isNull); expect(latestUri, equals(uri)); }); + + Widget customBuilder(BuildContext context, RawEditorState state) { + return Container(key: const Key('customMenu')); + } + + testWidgets('custom context menu builder', (tester) async { + await tester.pumpWidget(MaterialApp( + home: QuillEditor( + controller: controller, + focusNode: FocusNode(), + scrollController: ScrollController(), + scrollable: true, + padding: EdgeInsets.zero, + autoFocus: true, + readOnly: false, + expands: true, + contextMenuBuilder: customBuilder, + ), + )); + + // Long press to show menu + await tester.longPress(find.byType(QuillEditor)); + await tester.pumpAndSettle(); + + // Verify custom widget shows + expect(find.byKey(const Key('customMenu')), findsOneWidget); + }); }); }