From fa05170c86029e28f74398a122df31314d44375a Mon Sep 17 00:00:00 2001 From: "Lucas.Xu" Date: Tue, 2 Aug 2022 16:25:35 +0800 Subject: [PATCH] chore: fix test error --- .../lib/operation/transaction_builder.dart | 8 ++------ .../enter_in_edge_of_text_node_handler.dart | 14 ++++++++++++++ .../packages/flowy_editor/test/operation_test.dart | 3 ++- 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/frontend/app_flowy/packages/flowy_editor/lib/operation/transaction_builder.dart b/frontend/app_flowy/packages/flowy_editor/lib/operation/transaction_builder.dart index dd531d5d5e..88e0c00890 100644 --- a/frontend/app_flowy/packages/flowy_editor/lib/operation/transaction_builder.dart +++ b/frontend/app_flowy/packages/flowy_editor/lib/operation/transaction_builder.dart @@ -30,14 +30,10 @@ class TransactionBuilder { insertNode(Path path, Node node) { insertNodes(path, [node]); - // FIXME: Not exactly correct, needs to be customized. - afterSelection = Selection.collapsed( - Position(path: path, offset: 0), - ); } insertNodes(Path path, List nodes) { - beforeSelection = state.service.selectionService.currentSelection; + beforeSelection = state.cursorSelection; add(InsertOperation(path, nodes)); } @@ -74,7 +70,7 @@ class TransactionBuilder { } textEdit(TextNode node, Delta Function() f) { - beforeSelection = state.service.selectionService.currentSelection; + beforeSelection = state.cursorSelection; final path = node.path; final delta = f(); diff --git a/frontend/app_flowy/packages/flowy_editor/lib/service/internal_key_event_handlers/enter_in_edge_of_text_node_handler.dart b/frontend/app_flowy/packages/flowy_editor/lib/service/internal_key_event_handlers/enter_in_edge_of_text_node_handler.dart index b08dcb1f80..525afd9021 100644 --- a/frontend/app_flowy/packages/flowy_editor/lib/service/internal_key_event_handlers/enter_in_edge_of_text_node_handler.dart +++ b/frontend/app_flowy/packages/flowy_editor/lib/service/internal_key_event_handlers/enter_in_edge_of_text_node_handler.dart @@ -4,6 +4,8 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flowy_editor/document/node.dart'; +import 'package:flowy_editor/document/position.dart'; +import 'package:flowy_editor/document/selection.dart'; import 'package:flowy_editor/document/text_delta.dart'; import 'package:flowy_editor/extensions/node_extensions.dart'; import 'package:flowy_editor/extensions/path_extensions.dart'; @@ -40,6 +42,12 @@ FlowyKeyEventHandler enterInEdgeOfTextNodeHandler = (editorState, event) { needCopyAttributes ? {StyleKey.subtype: textNode.subtype} : {}, ), ) + ..afterSelection = Selection.collapsed( + Position( + path: textNode.path.next, + offset: 0, + ), + ) ..commit(); return KeyEventResult.handled; } else if (textNode.selectable!.start() == selection.start) { @@ -52,6 +60,12 @@ FlowyKeyEventHandler enterInEdgeOfTextNodeHandler = (editorState, event) { attributes: {}, ), ) + ..afterSelection = Selection.collapsed( + Position( + path: textNode.path.next, + offset: 0, + ), + ) ..commit(); return KeyEventResult.handled; } diff --git a/frontend/app_flowy/packages/flowy_editor/test/operation_test.dart b/frontend/app_flowy/packages/flowy_editor/test/operation_test.dart index 7507cb65bf..339807cea4 100644 --- a/frontend/app_flowy/packages/flowy_editor/test/operation_test.dart +++ b/frontend/app_flowy/packages/flowy_editor/test/operation_test.dart @@ -8,6 +8,7 @@ import 'package:flowy_editor/editor_state.dart'; import 'package:flowy_editor/document/state_tree.dart'; void main() { + TestWidgetsFlutterBinding.ensureInitialized(); group('transform path', () { test('transform path changed', () { expect(transformPath([0, 1], [0, 1]), [0, 2]); @@ -87,7 +88,7 @@ void main() { "path": [0], "nodes": [item1.toJson()], } - ], + ] }); }); test("delete", () {