dartlangeditorflutterflutter-appsflutter-examplesflutter-packageflutter-widgetquillquill-deltaquilljsreactquillrich-textrich-text-editorwysiwygwysiwyg-editor
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
2.0 KiB
60 lines
2.0 KiB
import 'package:flutter/material.dart'; |
|
import 'package:flutter_quill/flutter_quill.dart'; |
|
import 'package:flutter_quill/flutter_quill_test.dart'; |
|
import 'package:flutter_test/flutter_test.dart'; |
|
|
|
void main() { |
|
group('Bug fix', () { |
|
group('1189 - The provided text position is not in the current node', () { |
|
late QuillController controller; |
|
late QuillEditor editor; |
|
|
|
setUp(() { |
|
controller = QuillController.basic(); |
|
editor = QuillEditor.basic(controller: controller, readOnly: false); |
|
}); |
|
|
|
tearDown(() { |
|
controller.dispose(); |
|
}); |
|
|
|
testWidgets('Refocus editor after controller clears document', |
|
(tester) async { |
|
await tester.pumpWidget(MaterialApp(home: Column(children: [editor]))); |
|
await tester.quillEnterText(find.byType(QuillEditor), 'test\n'); |
|
|
|
editor.focusNode.unfocus(); |
|
await tester.pump(); |
|
controller.clear(); |
|
editor.focusNode.requestFocus(); |
|
await tester.pump(); |
|
expect(tester.takeException(), isNull); |
|
}); |
|
|
|
testWidgets('Refocus editor after removing block attribute', |
|
(tester) async { |
|
await tester.pumpWidget(MaterialApp(home: Column(children: [editor]))); |
|
await tester.quillEnterText(find.byType(QuillEditor), 'test\n'); |
|
|
|
controller.formatSelection(Attribute.ul); |
|
editor.focusNode.unfocus(); |
|
await tester.pump(); |
|
controller.formatSelection(const ListAttribute(null)); |
|
editor.focusNode.requestFocus(); |
|
await tester.pump(); |
|
expect(tester.takeException(), isNull); |
|
}); |
|
|
|
testWidgets('Tap checkbox in unfocused editor', (tester) async { |
|
await tester.pumpWidget(MaterialApp(home: Column(children: [editor]))); |
|
await tester.quillEnterText(find.byType(QuillEditor), 'test\n'); |
|
|
|
controller.formatSelection(Attribute.unchecked); |
|
editor.focusNode.unfocus(); |
|
await tester.pump(); |
|
await tester.tap(find.byType(CheckboxPoint)); |
|
expect(tester.takeException(), isNull); |
|
}); |
|
}); |
|
}); |
|
}
|
|
|