@@ -199,12 +199,12 @@ mod handlers {
199199mod helpers {
200200 use std:: sync:: Arc ;
201201
202+ use hir:: Semantics ;
202203 use ra_db:: { fixture:: WithFixture , FileId , FileRange , SourceDatabaseExt } ;
203204 use ra_ide_db:: { symbol_index:: SymbolsDatabase , RootDatabase } ;
204205 use test_utils:: { add_cursor, assert_eq_text, extract_range_or_offset, RangeOrOffset } ;
205206
206- use crate :: { AssistCtx , AssistFile , AssistHandler } ;
207- use hir:: Semantics ;
207+ use crate :: { handlers:: Handler , AssistCtx , AssistFile } ;
208208
209209 pub ( crate ) fn with_single_file ( text : & str ) -> ( RootDatabase , FileId ) {
210210 let ( mut db, file_id) = RootDatabase :: with_single_file ( text) ;
@@ -214,22 +214,18 @@ mod helpers {
214214 ( db, file_id)
215215 }
216216
217- pub ( crate ) fn check_assist (
218- assist : AssistHandler ,
219- ra_fixture_before : & str ,
220- ra_fixture_after : & str ,
221- ) {
217+ pub ( crate ) fn check_assist ( assist : Handler , ra_fixture_before : & str , ra_fixture_after : & str ) {
222218 check ( assist, ra_fixture_before, ExpectedResult :: After ( ra_fixture_after) ) ;
223219 }
224220
225221 // FIXME: instead of having a separate function here, maybe use
226222 // `extract_ranges` and mark the target as `<target> </target>` in the
227223 // fixuture?
228- pub ( crate ) fn check_assist_target ( assist : AssistHandler , ra_fixture : & str , target : & str ) {
224+ pub ( crate ) fn check_assist_target ( assist : Handler , ra_fixture : & str , target : & str ) {
229225 check ( assist, ra_fixture, ExpectedResult :: Target ( target) ) ;
230226 }
231227
232- pub ( crate ) fn check_assist_not_applicable ( assist : AssistHandler , ra_fixture : & str ) {
228+ pub ( crate ) fn check_assist_not_applicable ( assist : Handler , ra_fixture : & str ) {
233229 check ( assist, ra_fixture, ExpectedResult :: NotApplicable ) ;
234230 }
235231
@@ -239,7 +235,7 @@ mod helpers {
239235 Target ( & ' a str ) ,
240236 }
241237
242- fn check ( assist : AssistHandler , before : & str , expected : ExpectedResult ) {
238+ fn check ( assist : Handler , before : & str , expected : ExpectedResult ) {
243239 let ( text_without_caret, file_with_caret_id, range_or_offset, db) =
244240 if before. contains ( "//-" ) {
245241 let ( mut db, position) = RootDatabase :: with_position ( before) ;
@@ -265,13 +261,13 @@ mod helpers {
265261 ( Some ( assist) , ExpectedResult :: After ( after) ) => {
266262 let action = assist. 0 [ 0 ] . action . clone ( ) . unwrap ( ) ;
267263
268- let assisted_file_text = if let AssistFile :: TargetFile ( file_id) = action. file {
264+ let mut actual = if let AssistFile :: TargetFile ( file_id) = action. file {
269265 db. file_text ( file_id) . as_ref ( ) . to_owned ( )
270266 } else {
271267 text_without_caret
272268 } ;
269+ action. edit . apply ( & mut actual) ;
273270
274- let mut actual = action. edit . apply ( & assisted_file_text) ;
275271 match action. cursor_position {
276272 None => {
277273 if let RangeOrOffset :: Offset ( before_cursor_pos) = range_or_offset {
0 commit comments