From 1243db11a55a9f431a4b6bbf56c1953b2262d8b7 Mon Sep 17 00:00:00 2001 From: Michael Davis Date: Thu, 20 Oct 2022 13:36:21 -0500 Subject: [PATCH] Use helix_view::apply_transaction in integration-tests `helix_view::apply_transaction` closes over `Document::apply` and `View::apply` to ensure that jumplist entries are updated when a document changes from a transaction. `Document::apply` shouldn't be called directly - this helper function should be used instead. --- helix-term/tests/test/helpers.rs | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/helix-term/tests/test/helpers.rs b/helix-term/tests/test/helpers.rs index 5adc3354..a2d53e9d 100644 --- a/helix-term/tests/test/helpers.rs +++ b/helix-term/tests/test/helpers.rs @@ -125,13 +125,12 @@ pub async fn test_key_sequence_with_input_text>( let sel = doc.selection(view.id).clone(); // replace the initial text with the input text - doc.apply( - &Transaction::change_by_selection(doc.text(), &sel, |_| { - (0, doc.text().len_chars(), Some((&test_case.in_text).into())) - }) - .with_selection(test_case.in_selection.clone()), - view.id, - ); + let transaction = Transaction::change_by_selection(doc.text(), &sel, |_| { + (0, doc.text().len_chars(), Some((&test_case.in_text).into())) + }) + .with_selection(test_case.in_selection.clone()); + + helix_view::apply_transaction(&transaction, doc, view); test_key_sequence( &mut app, @@ -286,7 +285,7 @@ impl AppBuilder { .with_selection(selection); // replace the initial text with the input text - doc.apply(&trans, view.id); + helix_view::apply_transaction(&trans, doc, view); } Ok(app)