Uncomment vim search tests

Conrad Irwin created

Change summary

crates/vim2/src/normal/search.rs | 260 +++++++++++++++++-----------------
1 file changed, 130 insertions(+), 130 deletions(-)

Detailed changes

crates/vim2/src/normal/search.rs 🔗

@@ -345,133 +345,133 @@ fn parse_replace_all(query: &str) -> Replacement {
     replacement
 }
 
-// #[cfg(test)]
-// mod test {
-//     use editor::DisplayPoint;
-//     use search::BufferSearchBar;
-
-//     use crate::{state::Mode, test::VimTestContext};
-
-//     #[gpui::test]
-//     async fn test_move_to_next(cx: &mut gpui::TestAppContext) {
-//         let mut cx = VimTestContext::new(cx, true).await;
-//         cx.set_state("ˇhi\nhigh\nhi\n", Mode::Normal);
-
-//         cx.simulate_keystrokes(["*"]);
-//         cx.run_until_parked();
-//         cx.assert_state("hi\nhigh\nˇhi\n", Mode::Normal);
-
-//         cx.simulate_keystrokes(["*"]);
-//         cx.run_until_parked();
-//         cx.assert_state("ˇhi\nhigh\nhi\n", Mode::Normal);
-
-//         cx.simulate_keystrokes(["#"]);
-//         cx.run_until_parked();
-//         cx.assert_state("hi\nhigh\nˇhi\n", Mode::Normal);
-
-//         cx.simulate_keystrokes(["#"]);
-//         cx.run_until_parked();
-//         cx.assert_state("ˇhi\nhigh\nhi\n", Mode::Normal);
-
-//         cx.simulate_keystrokes(["2", "*"]);
-//         cx.run_until_parked();
-//         cx.assert_state("ˇhi\nhigh\nhi\n", Mode::Normal);
-
-//         cx.simulate_keystrokes(["g", "*"]);
-//         cx.run_until_parked();
-//         cx.assert_state("hi\nˇhigh\nhi\n", Mode::Normal);
-
-//         cx.simulate_keystrokes(["n"]);
-//         cx.assert_state("hi\nhigh\nˇhi\n", Mode::Normal);
-
-//         cx.simulate_keystrokes(["g", "#"]);
-//         cx.run_until_parked();
-//         cx.assert_state("hi\nˇhigh\nhi\n", Mode::Normal);
-//     }
-
-//     #[gpui::test]
-//     async fn test_search(cx: &mut gpui::TestAppContext) {
-//         let mut cx = VimTestContext::new(cx, true).await;
-
-//         cx.set_state("aa\nbˇb\ncc\ncc\ncc\n", Mode::Normal);
-//         cx.simulate_keystrokes(["/", "c", "c"]);
-
-//         let search_bar = cx.workspace(|workspace, cx| {
-//             workspace
-//                 .active_pane()
-//                 .read(cx)
-//                 .toolbar()
-//                 .read(cx)
-//                 .item_of_type::<BufferSearchBar>()
-//                 .expect("Buffer search bar should be deployed")
-//         });
-
-//         cx.update_view(search_bar, |bar, cx| {
-//             assert_eq!(bar.query(cx), "cc");
-//         });
-
-//         cx.run_until_parked();
-
-//         cx.update_editor(|editor, cx| {
-//             let highlights = editor.all_text_background_highlights(cx);
-//             assert_eq!(3, highlights.len());
-//             assert_eq!(
-//                 DisplayPoint::new(2, 0)..DisplayPoint::new(2, 2),
-//                 highlights[0].0
-//             )
-//         });
-
-//         cx.simulate_keystrokes(["enter"]);
-//         cx.assert_state("aa\nbb\nˇcc\ncc\ncc\n", Mode::Normal);
-
-//         // n to go to next/N to go to previous
-//         cx.simulate_keystrokes(["n"]);
-//         cx.assert_state("aa\nbb\ncc\nˇcc\ncc\n", Mode::Normal);
-//         cx.simulate_keystrokes(["shift-n"]);
-//         cx.assert_state("aa\nbb\nˇcc\ncc\ncc\n", Mode::Normal);
-
-//         // ?<enter> to go to previous
-//         cx.simulate_keystrokes(["?", "enter"]);
-//         cx.assert_state("aa\nbb\ncc\ncc\nˇcc\n", Mode::Normal);
-//         cx.simulate_keystrokes(["?", "enter"]);
-//         cx.assert_state("aa\nbb\ncc\nˇcc\ncc\n", Mode::Normal);
-
-//         // /<enter> to go to next
-//         cx.simulate_keystrokes(["/", "enter"]);
-//         cx.assert_state("aa\nbb\ncc\ncc\nˇcc\n", Mode::Normal);
-
-//         // ?{search}<enter> to search backwards
-//         cx.simulate_keystrokes(["?", "b", "enter"]);
-//         cx.assert_state("aa\nbˇb\ncc\ncc\ncc\n", Mode::Normal);
-
-//         // works with counts
-//         cx.simulate_keystrokes(["4", "/", "c"]);
-//         cx.simulate_keystrokes(["enter"]);
-//         cx.assert_state("aa\nbb\ncc\ncˇc\ncc\n", Mode::Normal);
-
-//         // check that searching resumes from cursor, not previous match
-//         cx.set_state("ˇaa\nbb\ndd\ncc\nbb\n", Mode::Normal);
-//         cx.simulate_keystrokes(["/", "d"]);
-//         cx.simulate_keystrokes(["enter"]);
-//         cx.assert_state("aa\nbb\nˇdd\ncc\nbb\n", Mode::Normal);
-//         cx.update_editor(|editor, cx| editor.move_to_beginning(&Default::default(), cx));
-//         cx.assert_state("ˇaa\nbb\ndd\ncc\nbb\n", Mode::Normal);
-//         cx.simulate_keystrokes(["/", "b"]);
-//         cx.simulate_keystrokes(["enter"]);
-//         cx.assert_state("aa\nˇbb\ndd\ncc\nbb\n", Mode::Normal);
-//     }
-
-//     #[gpui::test]
-//     async fn test_non_vim_search(cx: &mut gpui::TestAppContext) {
-//         let mut cx = VimTestContext::new(cx, false).await;
-//         cx.set_state("ˇone one one one", Mode::Normal);
-//         cx.simulate_keystrokes(["cmd-f"]);
-//         cx.run_until_parked();
-
-//         cx.assert_editor_state("«oneˇ» one one one");
-//         cx.simulate_keystrokes(["enter"]);
-//         cx.assert_editor_state("one «oneˇ» one one");
-//         cx.simulate_keystrokes(["shift-enter"]);
-//         cx.assert_editor_state("«oneˇ» one one one");
-//     }
-// }
+#[cfg(test)]
+mod test {
+    use editor::DisplayPoint;
+    use search::BufferSearchBar;
+
+    use crate::{state::Mode, test::VimTestContext};
+
+    #[gpui::test]
+    async fn test_move_to_next(cx: &mut gpui::TestAppContext) {
+        let mut cx = VimTestContext::new(cx, true).await;
+        cx.set_state("ˇhi\nhigh\nhi\n", Mode::Normal);
+
+        cx.simulate_keystrokes(["*"]);
+        cx.run_until_parked();
+        cx.assert_state("hi\nhigh\nˇhi\n", Mode::Normal);
+
+        cx.simulate_keystrokes(["*"]);
+        cx.run_until_parked();
+        cx.assert_state("ˇhi\nhigh\nhi\n", Mode::Normal);
+
+        cx.simulate_keystrokes(["#"]);
+        cx.run_until_parked();
+        cx.assert_state("hi\nhigh\nˇhi\n", Mode::Normal);
+
+        cx.simulate_keystrokes(["#"]);
+        cx.run_until_parked();
+        cx.assert_state("ˇhi\nhigh\nhi\n", Mode::Normal);
+
+        cx.simulate_keystrokes(["2", "*"]);
+        cx.run_until_parked();
+        cx.assert_state("ˇhi\nhigh\nhi\n", Mode::Normal);
+
+        cx.simulate_keystrokes(["g", "*"]);
+        cx.run_until_parked();
+        cx.assert_state("hi\nˇhigh\nhi\n", Mode::Normal);
+
+        cx.simulate_keystrokes(["n"]);
+        cx.assert_state("hi\nhigh\nˇhi\n", Mode::Normal);
+
+        cx.simulate_keystrokes(["g", "#"]);
+        cx.run_until_parked();
+        cx.assert_state("hi\nˇhigh\nhi\n", Mode::Normal);
+    }
+
+    #[gpui::test]
+    async fn test_search(cx: &mut gpui::TestAppContext) {
+        let mut cx = VimTestContext::new(cx, true).await;
+
+        cx.set_state("aa\nbˇb\ncc\ncc\ncc\n", Mode::Normal);
+        cx.simulate_keystrokes(["/", "c", "c"]);
+
+        let search_bar = cx.workspace(|workspace, cx| {
+            workspace
+                .active_pane()
+                .read(cx)
+                .toolbar()
+                .read(cx)
+                .item_of_type::<BufferSearchBar>()
+                .expect("Buffer search bar should be deployed")
+        });
+
+        cx.update_view(search_bar, |bar, cx| {
+            assert_eq!(bar.query(cx), "cc");
+        });
+
+        cx.run_until_parked();
+
+        cx.update_editor(|editor, cx| {
+            let highlights = editor.all_text_background_highlights(cx);
+            assert_eq!(3, highlights.len());
+            assert_eq!(
+                DisplayPoint::new(2, 0)..DisplayPoint::new(2, 2),
+                highlights[0].0
+            )
+        });
+
+        cx.simulate_keystrokes(["enter"]);
+        cx.assert_state("aa\nbb\nˇcc\ncc\ncc\n", Mode::Normal);
+
+        // n to go to next/N to go to previous
+        cx.simulate_keystrokes(["n"]);
+        cx.assert_state("aa\nbb\ncc\nˇcc\ncc\n", Mode::Normal);
+        cx.simulate_keystrokes(["shift-n"]);
+        cx.assert_state("aa\nbb\nˇcc\ncc\ncc\n", Mode::Normal);
+
+        // ?<enter> to go to previous
+        cx.simulate_keystrokes(["?", "enter"]);
+        cx.assert_state("aa\nbb\ncc\ncc\nˇcc\n", Mode::Normal);
+        cx.simulate_keystrokes(["?", "enter"]);
+        cx.assert_state("aa\nbb\ncc\nˇcc\ncc\n", Mode::Normal);
+
+        // /<enter> to go to next
+        cx.simulate_keystrokes(["/", "enter"]);
+        cx.assert_state("aa\nbb\ncc\ncc\nˇcc\n", Mode::Normal);
+
+        // ?{search}<enter> to search backwards
+        cx.simulate_keystrokes(["?", "b", "enter"]);
+        cx.assert_state("aa\nbˇb\ncc\ncc\ncc\n", Mode::Normal);
+
+        // works with counts
+        cx.simulate_keystrokes(["4", "/", "c"]);
+        cx.simulate_keystrokes(["enter"]);
+        cx.assert_state("aa\nbb\ncc\ncˇc\ncc\n", Mode::Normal);
+
+        // check that searching resumes from cursor, not previous match
+        cx.set_state("ˇaa\nbb\ndd\ncc\nbb\n", Mode::Normal);
+        cx.simulate_keystrokes(["/", "d"]);
+        cx.simulate_keystrokes(["enter"]);
+        cx.assert_state("aa\nbb\nˇdd\ncc\nbb\n", Mode::Normal);
+        cx.update_editor(|editor, cx| editor.move_to_beginning(&Default::default(), cx));
+        cx.assert_state("ˇaa\nbb\ndd\ncc\nbb\n", Mode::Normal);
+        cx.simulate_keystrokes(["/", "b"]);
+        cx.simulate_keystrokes(["enter"]);
+        cx.assert_state("aa\nˇbb\ndd\ncc\nbb\n", Mode::Normal);
+    }
+
+    #[gpui::test]
+    async fn test_non_vim_search(cx: &mut gpui::TestAppContext) {
+        let mut cx = VimTestContext::new(cx, false).await;
+        cx.set_state("ˇone one one one", Mode::Normal);
+        cx.simulate_keystrokes(["cmd-f"]);
+        cx.run_until_parked();
+
+        cx.assert_editor_state("«oneˇ» one one one");
+        cx.simulate_keystrokes(["enter"]);
+        cx.assert_editor_state("one «oneˇ» one one");
+        cx.simulate_keystrokes(["shift-enter"]);
+        cx.assert_editor_state("«oneˇ» one one one");
+    }
+}