chore: disable rules for test cases

This commit is contained in:
Lucas.Xu 2022-12-09 11:06:28 +08:00
parent 8bbae46a7c
commit e94eb20388
2 changed files with 10 additions and 4 deletions

View File

@ -73,6 +73,7 @@ class EditorState {
// TODO: only for testing.
bool disableSealTimer = false;
bool disbaleRules = false;
bool editable = true;
@ -124,6 +125,7 @@ class EditorState {
Transaction transaction, {
ApplyOptions options = const ApplyOptions(recordUndo: true),
ruleCount = 0,
withUpdateCursor = true,
}) {
if (!editable) {
return;
@ -137,7 +139,9 @@ class EditorState {
WidgetsBinding.instance.addPostFrameCallback((_) {
_applyRules(ruleCount);
updateCursorSelection(transaction.afterSelection);
if (withUpdateCursor) {
updateCursorSelection(transaction.afterSelection);
}
});
if (options.recordUndo) {
@ -187,7 +191,7 @@ class EditorState {
void _applyRules(int ruleCount) {
// Set a maximum count to prevent a dead loop.
if (ruleCount >= 5) {
if (ruleCount >= 5 || disbaleRules) {
return;
}
@ -197,7 +201,7 @@ class EditorState {
_insureLastNodeEditable(tr);
if (tr.operations.isNotEmpty) {
apply(tr, ruleCount: ruleCount + 1);
apply(tr, ruleCount: ruleCount + 1, withUpdateCursor: false);
}
}

View File

@ -157,7 +157,9 @@ class EditorWidgetTester {
document: Document(
root: _createEmptyEditorRoot(),
),
)..disableSealTimer = true;
)
..disableSealTimer = true
..disbaleRules = true;
}
}