@@ -348,7 +348,7 @@ mod tests {
348348 assert ! ( client. receiver. is_empty( ) ) ;
349349 }
350350
351- fn with_edits ( text : & str , mut edits : Vec < TextEdit > ) -> String {
351+ fn apply_text_edits_to ( text : & str , mut edits : Vec < TextEdit > ) -> String {
352352 edits. sort_by ( |a, b| match a. range . start . line . cmp ( & b. range . start . line ) {
353353 Ordering :: Equal => a
354354 . range
@@ -424,7 +424,28 @@ mod tests {
424424 expect_server_initialized ( & client. receiver , 1 ) ;
425425
426426 let edits: Vec < TextEdit > = expect_response ( & client. receiver , 2 ) ;
427- let formatted = with_edits ( contents, edits) ;
427+ assert_eq ! (
428+ edits,
429+ [
430+ TextEdit {
431+ range: Range :: new( Position :: new( 0 , 6 ) , Position :: new( 0 , 7 ) ) ,
432+ new_text: "" . to_string( )
433+ } ,
434+ TextEdit {
435+ range: Range :: new( Position :: new( 0 , 8 ) , Position :: new( 0 , 9 ) ) ,
436+ new_text: "" . to_string( )
437+ } ,
438+ TextEdit {
439+ range: Range :: new( Position :: new( 0 , 12 ) , Position :: new( 0 , 13 ) ) ,
440+ new_text: "" . to_string( )
441+ } ,
442+ TextEdit {
443+ range: Range :: new( Position :: new( 0 , 14 ) , Position :: new( 0 , 14 ) ) ,
444+ new_text: "\n " . to_string( )
445+ } ,
446+ ]
447+ ) ;
448+ let formatted = apply_text_edits_to ( contents, edits) ;
428449 assert_eq ! ( formatted, "local x = 1\n " ) ;
429450
430451 expect_server_shutdown ( & client. receiver , 3 ) ;
@@ -479,7 +500,36 @@ mod tests {
479500 expect_server_initialized ( & client. receiver , 1 ) ;
480501
481502 let edits: Vec < TextEdit > = expect_response ( & client. receiver , 2 ) ;
482- let formatted = with_edits ( contents, edits) ;
503+ assert_eq ! (
504+ edits,
505+ [
506+ TextEdit {
507+ range: Range :: new( Position :: new( 1 , 6 ) , Position :: new( 1 , 9 ) ) ,
508+ new_text: "" . to_string( )
509+ } ,
510+ TextEdit {
511+ range: Range :: new( Position :: new( 1 , 10 ) , Position :: new( 1 , 11 ) ) ,
512+ new_text: "" . to_string( )
513+ } ,
514+ TextEdit {
515+ range: Range :: new( Position :: new( 1 , 12 ) , Position :: new( 1 , 13 ) ) ,
516+ new_text: "" . to_string( )
517+ } ,
518+ TextEdit {
519+ range: Range :: new( Position :: new( 1 , 14 ) , Position :: new( 1 , 15 ) ) ,
520+ new_text: "" . to_string( )
521+ } ,
522+ TextEdit {
523+ range: Range :: new( Position :: new( 1 , 16 ) , Position :: new( 1 , 17 ) ) ,
524+ new_text: "" . to_string( )
525+ } ,
526+ TextEdit {
527+ range: Range :: new( Position :: new( 1 , 18 ) , Position :: new( 1 , 18 ) ) ,
528+ new_text: "\n " . to_string( )
529+ } ,
530+ ]
531+ ) ;
532+ let formatted = apply_text_edits_to ( contents, edits) ;
483533 assert_eq ! ( formatted, "local x = 1\n local y = 2\n " ) ;
484534
485535 expect_server_shutdown ( & client. receiver , 3 ) ;
0 commit comments