@@ -826,6 +826,7 @@ public void testResetIncrementalBaseLocation() {
826826 findReplaceLogic .activate (SearchOptions .FORWARD );
827827 findReplaceLogic .activate (SearchOptions .WRAP );
828828 findReplaceLogic .activate (SearchOptions .INCREMENTAL );
829+
829830 findReplaceLogic .setFindString ("test" );
830831 assertThat (textViewer .getSelectedRange (), is (new Point (0 , 4 )));
831832 textViewer .setSelectedRange (5 , 0 );
@@ -843,77 +844,24 @@ public void testResetIncrementalBaseLocation() {
843844 // Verify that after clearing the search, caret goes back to last active location
844845 findReplaceLogic .setFindString ("" );
845846 findReplaceLogic .performSearch ();
846- assertThat (textViewer .getSelectedRange (), is (new Point (0 , 0 )));
847- }
848-
849- @ Test
850- public void testRestoreBaseLocationCapturedOnNewSearch () {
851- String setupString = "alpha beta gamma" ;
852- TextViewer textViewer = setupTextViewer (setupString );
853- textViewer .setSelectedRange (6 , 0 ); // caret after "alpha "
854-
855- IFindReplaceLogic logic = setupFindReplaceLogicObject (textViewer );
856- logic .activate (SearchOptions .FORWARD );
857- logic .activate (SearchOptions .INCREMENTAL );
858-
859- // Start a new search
860- logic .setFindString ("gamma" );
861- assertThat (textViewer .getSelectedRange (), is (new Point (11 , 5 ))); // found "gamma"
862-
863- // Now clear the search — caret should return to where it started (6, 0)
864- logic .setFindString ("" );
865- logic .performSearch ();
866- assertThat (textViewer .getSelectedRange (), is (new Point (6 , 0 )));
867- }
868-
869- @ Test
870- public void testCaretRestoredWhenSearchCleared () {
871- String setupString = "alpha beta gamma" ;
872- TextViewer textViewer = setupTextViewer (setupString );
873- textViewer .setSelectedRange (0 , 0 );
874-
875- IFindReplaceLogic logic = setupFindReplaceLogicObject (textViewer );
876- logic .activate (SearchOptions .FORWARD );
877- logic .activate (SearchOptions .INCREMENTAL );
878-
879- logic .setFindString ("beta" );
880- assertThat (textViewer .getSelectedRange (), is (new Point (6 , 4 ))); // found "beta"
881-
882- // Clear the search field — should restore caret
883- logic .setFindString ("" );
884- logic .performSearch ();
885-
886- // Expect caret restored to starting location (0,0)
887- assertThat (textViewer .getSelectedRange (), is (new Point (0 , 0 )));
847+ assertThat (textViewer .getSelectedRange (), is (new Point (10 , 4 )));
888848 }
889849
890850 @ Test
891- public void testRestoreBaseLocationRefreshedBetweenSessions () {
892- String setupString = "alpha beta gamma " ;
851+ public void testRestoreSelectionOnEmptyFindStringInIncrementalMode () {
852+ String setupString = "test \n test \n test " ;
893853 TextViewer textViewer = setupTextViewer (setupString );
894- IFindReplaceLogic logic = setupFindReplaceLogicObject (textViewer );
895- logic .activate (SearchOptions .FORWARD );
896- logic .activate (SearchOptions .INCREMENTAL );
854+ textViewer .setSelectedRange (5 , 0 ); // Set initial selection
855+ IFindReplaceLogic findReplaceLogic = setupFindReplaceLogicObject (textViewer );
856+ findReplaceLogic .activate (SearchOptions .FORWARD );
857+ findReplaceLogic .activate (SearchOptions .WRAP );
858+ findReplaceLogic .activate (SearchOptions .INCREMENTAL );
897859
898- // --- First search session ---
899- textViewer .setSelectedRange (0 , 0 );
900- logic .setFindString ("alpha" );
901- assertThat (textViewer .getSelectedRange (), is (new Point (0 , 5 )));
902-
903- // Clear the search → caret returns to (0, 0)
904- logic .setFindString ("" );
905- logic .performSearch ();
906- assertThat (textViewer .getSelectedRange (), is (new Point (0 , 0 )));
907-
908- // --- Second search session ---
909- textViewer .setSelectedRange (6 , 0 );
910- logic .setFindString ("beta" );
911- assertThat (textViewer .getSelectedRange (), is (new Point (6 , 4 )));
912-
913- // Clear again → caret returns to (6, 0)
914- logic .setFindString ("" );
915- logic .performSearch ();
916- assertThat (textViewer .getSelectedRange (), is (new Point (6 , 0 )));
860+ findReplaceLogic .resetIncrementalBaseLocation (); // Set base location
861+ findReplaceLogic .setFindString ("test" );
862+ assertThat (textViewer .getSelectedRange (), is (new Point (5 , 4 )));
863+ findReplaceLogic .setFindString ("" ); // Clear the find string
864+ assertThat (textViewer .getSelectedRange (), is (new Point (5 , 0 ))); // Restored to base location
917865 }
918866
919867 @ Test
@@ -928,10 +876,10 @@ public void testNoRestoreOnEmptyFindStringWhenNotIncremental() {
928876
929877 findReplaceLogic .resetIncrementalBaseLocation ();
930878 findReplaceLogic .setFindString ("test" );
931- assertThat (textViewer .getSelectedRange (), is (new Point (5 , 0 )));
879+ assertThat (textViewer .getSelectedRange (), is (new Point (5 , 0 ))); // As per pr3379
932880 findReplaceLogic .setFindString ("" ); // Clear the find string
933881 // Should not restore selection
934- assertThat (textViewer .getSelectedRange (), is (new Point (5 , 0 ))); // Changes as per pr3379
882+ assertThat (textViewer .getSelectedRange (), is (new Point (5 , 0 ))); // Remains unchanged
935883 }
936884
937885 @ Test
0 commit comments