diff options
author | Tim Oram <dev@mitmaro.ca> | 2023-08-05 15:43:15 -0230 |
---|---|---|
committer | Tim Oram <dev@mitmaro.ca> | 2023-08-06 20:13:15 -0230 |
commit | c2b679bf91ef4e966983c614d16ada744856dd87 (patch) | |
tree | eaa30186de0575354c251c069e43701097572da8 | |
parent | bbee0ed97998e4ec6bf69d0faa7a8560f66fbef3 (diff) |
Add action_line macro to core crate tests
Using the newly added assert_rendered_output changes for dynamic
assertions, create a new action_line macro for matching lines that
contain todo line actions. Also refactor the existing tests to take
advantage of some of the new dynamic matchers, and body only matching.
-rw-r--r-- | Cargo.lock | 1 | ||||
-rw-r--r-- | src/core/Cargo.toml | 1 | ||||
-rw-r--r-- | src/core/src/modules/list/tests/change_action.rs | 176 | ||||
-rw-r--r-- | src/core/src/modules/list/tests/movement.rs | 211 | ||||
-rw-r--r-- | src/core/src/modules/list/tests/normal_mode.rs | 10 | ||||
-rw-r--r-- | src/core/src/modules/list/tests/remove_lines.rs | 64 | ||||
-rw-r--r-- | src/core/src/modules/list/tests/render.rs | 42 | ||||
-rw-r--r-- | src/core/src/modules/list/tests/search.rs | 85 | ||||
-rw-r--r-- | src/core/src/modules/list/tests/swap_lines.rs | 144 | ||||
-rw-r--r-- | src/core/src/modules/list/tests/toggle_break.rs | 30 | ||||
-rw-r--r-- | src/core/src/modules/list/tests/undo_redo.rs | 70 | ||||
-rw-r--r-- | src/core/src/modules/list/tests/visual_mode.rs | 86 | ||||
-rw-r--r-- | src/core/src/modules/show_commit/tests.rs | 73 | ||||
-rw-r--r-- | src/core/src/testutil/action_line.rs | 215 | ||||
-rw-r--r-- | src/core/src/testutil/mod.rs | 2 |
15 files changed, 617 insertions, 593 deletions
@@ -374,6 +374,7 @@ dependencies = [ "parking_lot", "pico-args", "pretty_assertions", + "regex", "rstest", "rustc_version", "serial_test", diff --git a/src/core/Cargo.toml b/src/core/Cargo.toml index a7c1a48..bd6b72d 100644 --- a/src/core/Cargo.toml +++ b/src/core/Cargo.toml @@ -36,6 +36,7 @@ girt-view = {version = "2.3.0", path = "../../src/view"} [dev-dependencies] claims = "0.7.1" pretty_assertions = "1.4.0" +regex = "1.8.3" rstest = "0.18.1" serial_test = "2.0.0" girt-view = {version = "2.3.0", path = "../../src/view", features = ["testutils"]} diff --git a/src/core/src/modules/list/tests/change_action.rs b/src/core/src/modules/list/tests/change_action.rs index bbac36d..173fea1 100644 --- a/src/core/src/modules/list/tests/change_action.rs +++ b/src/core/src/modules/list/tests/change_action.rs @@ -1,49 +1,7 @@ use view::assert_rendered_output; use super::*; -use crate::testutil::module_test; - -#[test] -fn pinned_segments() { - module_test( - &[ - "break", - "drop aaa c1", - "edit aaa c1", - "fixup aaa c1", - "pick aaa c1", - "reword aaa c1", - "squash aaa c1", - "exec command", - "label reference", - "reset reference", - "merge command", - ], - &[Event::from(MetaEvent::ActionDrop)], - |mut test_context| { - let mut module = create_list(&Config::new(), test_context.take_todo_file()); - _ = test_context.handle_all_events(&mut module); - let view_data = test_context.build_view_data(&mut module); - assert_rendered_output!( - Options AssertRenderOptions::INCLUDE_PINNED | AssertRenderOptions::EXCLUDE_STYLE, - view_data, - "{TITLE}{HELP}", - "{BODY}", - "{Pin(3)}{Selected} > break {Pad( )}", - "{Pin(2)} drop aaa c1", - "{Pin(2)} edit aaa c1", - "{Pin(2)} fixup aaa c1", - "{Pin(2)} pick aaa c1", - "{Pin(2)} reword aaa c1", - "{Pin(2)} squash aaa c1", - "{Pin(3)} exec command", - "{Pin(3)} label reference", - "{Pin(3)} reset reference", - "{Pin(3)} merge command" - ); - }, - ); -} +use crate::{action_line, testutil::module_test}; #[test] fn normal_mode_action_change_to_drop() { @@ -54,13 +12,7 @@ fn normal_mode_action_change_to_drop() { let mut module = create_list(&Config::new(), test_context.take_todo_file()); _ = test_context.handle_all_events(&mut module); let view_data = test_context.build_view_data(&mut module); - assert_rendered_output!( - Options AssertRenderOptions::EXCLUDE_STYLE, - view_data, - "{TITLE}{HELP}", - "{BODY}", - "{Selected} > drop aaa c1{Pad( )}" - ); + assert_rendered_output!(Body view_data, action_line!(Selected Drop "aaa", "c1")); }, ); } @@ -87,15 +39,12 @@ fn visual_mode_action_change_to_drop() { _ = test_context.handle_all_events(&mut module); let view_data = test_context.build_view_data(&mut module); assert_rendered_output!( - Options AssertRenderOptions::EXCLUDE_STYLE, - view_data, - "{TITLE}{HELP}", - "{BODY}", - " pick aaa c1", - "{Selected} > drop aaa c2{Pad( )}", - "{Selected} > drop aaa c3{Pad( )}", - "{Selected} > drop aaa c4{Pad( )}", - " pick aaa c5" + Body view_data, + action_line!(Pick "aaa", "c1"), + action_line!(Drop "aaa", "c2"), + action_line!(Drop "aaa", "c3"), + action_line!(Drop "aaa", "c4"), + action_line!(Pick "aaa", "c5") ); }, ); @@ -111,11 +60,8 @@ fn normal_mode_action_change_to_edit() { _ = test_context.handle_all_events(&mut module); let view_data = test_context.build_view_data(&mut module); assert_rendered_output!( - Options AssertRenderOptions::EXCLUDE_STYLE, - view_data, - "{TITLE}{HELP}", - "{BODY}", - "{Selected} > edit aaa c1{Pad( )}" + Body view_data, + action_line!(Selected Edit "aaa", "c1") ); }, ); @@ -143,15 +89,12 @@ fn visual_mode_action_change_to_edit() { _ = test_context.handle_all_events(&mut module); let view_data = test_context.build_view_data(&mut module); assert_rendered_output!( - Options AssertRenderOptions::EXCLUDE_STYLE, - view_data, - "{TITLE}{HELP}", - "{BODY}", - " pick aaa c1", - "{Selected} > edit aaa c2{Pad( )}", - "{Selected} > edit aaa c3{Pad( )}", - "{Selected} > edit aaa c4{Pad( )}", - " pick aaa c5" + Body view_data, + action_line!(Pick "aaa", "c1"), + action_line!(Selected Edit "aaa", "c2"), + action_line!(Selected Edit "aaa", "c3"), + action_line!(Selected Edit "aaa", "c4"), + action_line!(Pick "aaa", "c5") ); }, ); @@ -167,11 +110,8 @@ fn normal_mode_action_change_to_fixup() { _ = test_context.handle_all_events(&mut module); let view_data = test_context.build_view_data(&mut module); assert_rendered_output!( - Options AssertRenderOptions::EXCLUDE_STYLE, - view_data, - "{TITLE}{HELP}", - "{BODY}", - "{Selected} > fixup aaa c1{Pad( )}" + Body view_data, + action_line!(Selected Fixup "aaa", "c1") ); }, ); @@ -199,15 +139,12 @@ fn visual_mode_action_change_to_fixup() { _ = test_context.handle_all_events(&mut module); let view_data = test_context.build_view_data(&mut module); assert_rendered_output!( - Options AssertRenderOptions::EXCLUDE_STYLE, - view_data, - "{TITLE}{HELP}", - "{BODY}", - " pick aaa c1", - "{Selected} > fixup aaa c2{Pad( )}", - "{Selected} > fixup aaa c3{Pad( )}", - "{Selected} > fixup aaa c4{Pad( )}", - " pick aaa c5" + Body view_data, + action_line!(Pick "aaa", "c1"), + action_line!(Selected Fixup "aaa", "c2"), + action_line!(Selected Fixup "aaa", "c3"), + action_line!(Selected Fixup "aaa", "c4"), + action_line!(Pick "aaa", "c5") ); }, ); @@ -223,11 +160,8 @@ fn normal_mode_action_change_to_pick() { _ = test_context.handle_all_events(&mut module); let view_data = test_context.build_view_data(&mut module); assert_rendered_output!( - Options AssertRenderOptions::EXCLUDE_STYLE, - view_data, - "{TITLE}{HELP}", - "{BODY}", - "{Selected} > pick aaa c1{Pad( )}" + Body view_data, + action_line!(Selected Pick "aaa", "c1") ); }, ); @@ -255,15 +189,12 @@ fn visual_mode_action_change_to_pick() { _ = test_context.handle_all_events(&mut module); let view_data = test_context.build_view_data(&mut module); assert_rendered_output!( - Options AssertRenderOptions::EXCLUDE_STYLE, - view_data, - "{TITLE}{HELP}", - "{BODY}", - " drop aaa c1", - "{Selected} > pick aaa c2{Pad( )}", - "{Selected} > pick aaa c3{Pad( )}", - "{Selected} > pick aaa c4{Pad( )}", - " drop aaa c5" + Body view_data, + action_line!(Drop "aaa", "c1"), + action_line!(Selected Pick "aaa", "c2"), + action_line!(Selected Pick "aaa", "c3"), + action_line!(Selected Pick "aaa", "c4"), + action_line!(Drop "aaa", "c5") ); }, ); @@ -279,11 +210,8 @@ fn normal_mode_action_change_to_reword() { _ = test_context.handle_all_events(&mut module); let view_data = test_context.build_view_data(&mut module); assert_rendered_output!( - Options AssertRenderOptions::EXCLUDE_STYLE, - view_data, - "{TITLE}{HELP}", - "{BODY}", - "{Selected} > reword aaa c1{Pad( )}" + Body view_data, + action_line!(Selected Reword "aaa", "c1") ); }, ); @@ -311,15 +239,12 @@ fn visual_mode_action_change_to_reword() { _ = test_context.handle_all_events(&mut module); let view_data = test_context.build_view_data(&mut module); assert_rendered_output!( - Options AssertRenderOptions::EXCLUDE_STYLE, - view_data, - "{TITLE}{HELP}", - "{BODY}", - " pick aaa c1", - "{Selected} > reword aaa c2{Pad( )}", - "{Selected} > reword aaa c3{Pad( )}", - "{Selected} > reword aaa c4{Pad( )}", - " pick aaa c5" + Body view_data, + action_line!(Pick "aaa", "c1"), + action_line!(Selected Reword "aaa", "c2"), + action_line!(Selected Reword "aaa", "c3"), + action_line!(Selected Reword "aaa", "c4"), + action_line!(Pick "aaa", "c5") ); }, ); @@ -335,11 +260,7 @@ fn normal_mode_action_change_to_squash() { _ = test_context.handle_all_events(&mut module); let view_data = test_context.build_view_data(&mut module); assert_rendered_output!( - Options AssertRenderOptions::EXCLUDE_STYLE, - view_data, - "{TITLE}{HELP}", - "{BODY}", - "{Selected} > squash aaa c1{Pad( )}" + Body view_data, action_line!(Squash "aaa", "c1") ); }, ); @@ -367,15 +288,12 @@ fn visual_mode_action_change_to_squash() { _ = test_context.handle_all_events(&mut module); let view_data = test_context.build_view_data(&mut module); assert_rendered_output!( - Options AssertRenderOptions::EXCLUDE_STYLE, - view_data, - "{TITLE}{HELP}", - "{BODY}", - " pick aaa c1", - "{Selected} > squash aaa c2{Pad( )}", - "{Selected} > squash aaa c3{Pad( )}", - "{Selected} > squash aaa c4{Pad( )}", - " pick aaa c5" + Body view_data, + action_line!(Pick "aaa", "c1"), + action_line!(Squash "aaa", "c2"), + action_line!(Squash "aaa", "c3"), + action_line!(Squash "aaa", "c4"), + action_line!(Pick "aaa", "c5") ); }, ); diff --git a/src/core/src/modules/list/tests/movement.rs b/src/core/src/modules/list/tests/movement.rs index e5914b3..93db595 100644 --- a/src/core/src/modules/list/tests/movement.rs +++ b/src/core/src/modules/list/tests/movement.rs @@ -2,7 +2,7 @@ use ::input::{KeyModifiers, MouseEvent, MouseEventKind}; use view::assert_rendered_output; use super::*; -use crate::testutil::module_test; +use crate::{action_line, testutil::module_test}; #[test] fn move_down_1() { @@ -14,13 +14,10 @@ fn move_down_1() { _ = test_context.handle_all_events(&mut module); let view_data = test_context.build_view_data(&mut module); assert_rendered_output!( - Options AssertRenderOptions::EXCLUDE_STYLE, - view_data, - "{TITLE}{HELP}", - "{BODY}", - " pick aaa c1", - "{Selected} > pick aaa c2{Pad( )}", - " pick aaa c3" + Body view_data, + action_line!(Pick "aaa", "c1"), + action_line!(Selected Pick "aaa", "c2"), + action_line!(Pick "aaa", "c3") ); }, ); @@ -36,13 +33,10 @@ fn move_down_view_end() { _ = test_context.handle_all_events(&mut module); let view_data = test_context.build_view_data(&mut module); assert_rendered_output!( - Options AssertRenderOptions::EXCLUDE_STYLE, - view_data, - "{TITLE}{HELP}", - "{BODY}", - " pick aaa c1", - " pick aaa c2", - "{Selected} > pick aaa c3{Pad( )}" + Body view_data, + action_line!(Pick "aaa", "c1"), + action_line!(Pick "aaa", "c2"), + action_line!(Selected Pick "aaa", "c3") ); }, ); @@ -58,13 +52,10 @@ fn move_down_past_end() { _ = test_context.handle_all_events(&mut module); let view_data = test_context.build_view_data(&mut module); assert_rendered_output!( - Options AssertRenderOptions::EXCLUDE_STYLE, - view_data, - "{TITLE}{HELP}", - "{BODY}", - " pick aaa c1", - " pick aaa c2", - "{Selected} > pick aaa c3{Pad( )}" + Body view_data, + action_line!(Pick "aaa", "c1"), + action_line!(Pick "aaa", "c2"), + action_line!(Selected Pick "aaa", "c3") ); }, ); @@ -84,13 +75,10 @@ fn move_down_scroll_bottom_move_up_one() { _ = test_context.handle_all_events(&mut module); let view_data = test_context.build_view_data(&mut module); assert_rendered_output!( - Options AssertRenderOptions::EXCLUDE_STYLE, - view_data, - "{TITLE}{HELP}", - "{BODY}", - " pick aaa c1", - "{Selected} > pick aaa c2{Pad( )}", - " pick aaa c3" + Body view_data, + action_line!(Pick "aaa", "c1"), + action_line!(Selected Pick "aaa", "c2"), + action_line!(Pick "aaa", "c3") ); }, ); @@ -110,13 +98,10 @@ fn move_down_scroll_bottom_move_up_top() { _ = test_context.handle_all_events(&mut module); let view_data = test_context.build_view_data(&mut module); assert_rendered_output!( - Options AssertRenderOptions::EXCLUDE_STYLE, - view_data, - "{TITLE}{HELP}", - "{BODY}", - "{Selected} > pick aaa c1{Pad( )}", - " pick aaa c2", - " pick aaa c3" + Body view_data, + action_line!(Selected Pick "aaa", "c1"), + action_line!(Pick "aaa", "c2"), + action_line!(Pick "aaa", "c3") ); }, ); @@ -135,14 +120,11 @@ fn move_up_attempt_above_top() { _ = test_context.handle_all_events(&mut module); let view_data = test_context.build_view_data(&mut module); assert_rendered_output!( - Options AssertRenderOptions::EXCLUDE_STYLE, - view_data, - "{TITLE}{HELP}", - "{BODY}", - "{Selected} > pick aaa c1{Pad( )}", - " pick aaa c2", - " pick aaa c3", - " pick aaa c4" + Body view_data, + action_line!(Selected Pick "aaa", "c1"), + action_line!(Pick "aaa", "c2"), + action_line!(Pick "aaa", "c3"), + action_line!(Pick "aaa", "c4") ); }, ); @@ -158,14 +140,11 @@ fn move_down_attempt_below_bottom() { _ = test_context.handle_all_events(&mut module); let view_data = test_context.build_view_data(&mut module); assert_rendered_output!( - Options AssertRenderOptions::EXCLUDE_STYLE, - view_data, - "{TITLE}{HELP}", - "{BODY}", - " pick aaa c1", - " pick aaa c2", - " pick aaa c3", - "{Selected} > pick aaa c4{Pad( )}" + Body view_data, + action_line!(Pick "aaa", "c1"), + action_line!(Pick "aaa", "c2"), + action_line!(Pick "aaa", "c3"), + action_line!(Selected Pick "aaa", "c4") ); }, ); @@ -182,14 +161,11 @@ fn move_page_up_from_top() { _ = test_context.handle_all_events(&mut module); let view_data = test_context.build_view_data(&mut module); assert_rendered_output!( - Options AssertRenderOptions::EXCLUDE_STYLE, - view_data, - "{TITLE}{HELP}", - "{BODY}", - "{Selected} > pick aaa c1{Pad( )}", - " pick aaa c2", - " pick aaa c3", - " pick aaa c4" + Body view_data, + action_line!(Selected Pick "aaa", "c1"), + action_line!(Pick "aaa", "c2"), + action_line!(Pick "aaa", "c3"), + action_line!(Pick "aaa", "c4") ); }, ); @@ -210,14 +186,11 @@ fn move_page_up_from_one_page_down() { _ = test_context.handle_all_events(&mut module); let view_data = test_context.build_view_data(&mut module); assert_rendered_output!( - Options AssertRenderOptions::EXCLUDE_STYLE, - view_data, - "{TITLE}{HELP}", - "{BODY}", - "{Selected} > pick aaa c1{Pad( )}", - " pick aaa c2", - " pick aaa c3", - " pick aaa c4" + Body view_data, + action_line!(Selected Pick "aaa", "c1"), + action_line!(Pick "aaa", "c2"), + action_line!(Pick "aaa", "c3"), + action_line!(Pick "aaa", "c4") ); }, ); @@ -238,14 +211,11 @@ fn move_page_up_from_one_page_down_minus_1() { _ = test_context.handle_all_events(&mut module); let view_data = test_context.build_view_data(&mut module); assert_rendered_output!( - Options AssertRenderOptions::EXCLUDE_STYLE, - view_data, - "{TITLE}{HELP}", - "{BODY}", - "{Selected} > pick aaa c1{Pad( )}", - " pick aaa c2", - " pick aaa c3", - " pick aaa c4" + Body view_data, + action_line!(Selected Pick "aaa", "c1"), + action_line!(Pick "aaa", "c2"), + action_line!(Pick "aaa", "c3"), + action_line!(Pick "aaa", "c4") ); }, ); @@ -267,14 +237,11 @@ fn move_page_up_from_bottom() { _ = test_context.handle_all_events(&mut module); let view_data = test_context.build_view_data(&mut module); assert_rendered_output!( - Options AssertRenderOptions::EXCLUDE_STYLE, - view_data, - "{TITLE}{HELP}", - "{BODY}", - " pick aaa c1", - "{Selected} > pick aaa c2{Pad( )}", - " pick aaa c3", - " pick aaa c4" + Body view_data, + action_line!(Pick "aaa", "c1"), + action_line!(Selected Pick "aaa", "c2"), + action_line!(Pick "aaa", "c3"), + action_line!(Pick "aaa", "c4") ); }, ); @@ -294,14 +261,11 @@ fn move_home() { _ = test_context.handle_all_events(&mut module); let view_data = test_context.build_view_data(&mut module); assert_rendered_output!( - Options AssertRenderOptions::EXCLUDE_STYLE, - view_data, - "{TITLE}{HELP}", - "{BODY}", - "{Selected} > pick aaa c1{Pad( )}", - " pick aaa c2", - " pick aaa c3", - " pick aaa c4" + Body view_data, + action_line!(Selected Pick "aaa", "c1"), + action_line!(Pick "aaa", "c2"), + action_line!(Pick "aaa", "c3"), + action_line!(Pick "aaa", "c4") ); }, ); @@ -317,14 +281,11 @@ fn move_end() { _ = test_context.handle_all_events(&mut module); let view_data = test_context.build_view_data(&mut module); assert_rendered_output!( - Options AssertRenderOptions::EXCLUDE_STYLE, - view_data, - "{TITLE}{HELP}", - "{BODY}", - " pick aaa c1", - " pick aaa c2", - " pick aaa c3", - "{Selected} > pick aaa c4{Pad( )}" + Body view_data, + action_line!(Pick "aaa", "c1"), + action_line!(Pick "aaa", "c2"), + action_line!(Pick "aaa", "c3"), + action_line!(Selected Pick "aaa", "c4") ); }, ); @@ -341,14 +302,11 @@ fn move_page_down_past_bottom() { _ = test_context.handle_all_events(&mut module); let view_data = test_context.build_view_data(&mut module); assert_rendered_output!( - Options AssertRenderOptions::EXCLUDE_STYLE, - view_data, - "{TITLE}{HELP}", - "{BODY}", - " pick aaa c1", - " pick aaa c2", - " pick aaa c3", - "{Selected} > pick aaa c4{Pad( )}" + Body view_data, + action_line!(Pick "aaa", "c1"), + action_line!(Pick "aaa", "c2"), + action_line!(Pick "aaa", "c3"), + action_line!(Selected Pick "aaa", "c4") ); }, ); @@ -369,14 +327,11 @@ fn move_page_down_one_from_bottom() { _ = test_context.handle_all_events(&mut module); let view_data = test_context.build_view_data(&mut module); assert_rendered_output!( - Options AssertRenderOptions::EXCLUDE_STYLE, - view_data, - "{TITLE}{HELP}", - "{BODY}", - " pick aaa c1", - " pick aaa c2", - " pick aaa c3", - "{Selected} > pick aaa c4{Pad( )}" + Body view_data, + action_line!(Pick "aaa", "c1"), + action_line!(Pick "aaa", "c2"), + action_line!(Pick "aaa", "c3"), + action_line!(Selected Pick "aaa", "c4") ); }, ); @@ -396,14 +351,11 @@ fn move_page_down_one_page_from_bottom() { _ = test_context.handle_all_events(&mut module); let view_data = test_context.build_view_data(&mut module); assert_rendered_output!( - Options AssertRenderOptions::EXCLUDE_STYLE, - view_data, - "{TITLE}{HELP}", - "{BODY}", - " pick aaa c1", - " pick aaa c2", - " pick aaa c3", - "{Selected} > pick aaa c4{Pad( )}" + Body view_data, + action_line!(Pick "aaa", "c1"), + action_line!(Pick "aaa", "c2"), + action_line!(Pick "aaa", "c3"), + action_line!(Selected Pick "aaa", "c4") ); }, ); @@ -438,13 +390,10 @@ fn mouse_scroll() { _ = test_context.handle_all_events(&mut module); let view_data = test_context.build_view_data(&mut module); assert_rendered_output!( - Options AssertRenderOptions::EXCLUDE_STYLE, - view_data, - "{TITLE}{HELP}", - "{BODY}", - " pick aaa c1", - "{Selected} > pick aaa c2{Pad( )}", - " pick aaa c3" + Body view_data, + action_line!(Pick "aaa", "c1"), + action_line!(Selected Pick "aaa", "c2"), + action_line!(Pick "aaa", "c3") ); }, ); diff --git a/src/core/src/modules/list/tests/normal_mode.rs b/src/core/src/modules/list/tests/normal_mode.rs index 1236176..1ad7d18 100644 --- a/src/core/src/modules/list/tests/normal_mode.rs +++ b/src/core/src/modules/list/tests/normal_mode.rs @@ -2,7 +2,7 @@ use ::input::KeyCode; use view::assert_rendered_output; use super::*; -use crate::{assert_results, process::Artifact, testutil::module_test}; +use crate::{action_line, assert_results, process::Artifact, testutil::module_test}; #[test] fn change_auto_select_next_with_next_line() { @@ -16,11 +16,9 @@ fn change_auto_select_next_with_next_line() { _ = test_context.handle_all_events(&mut module); let view_data = test_context.build_view_data(&mut module); assert_rendered_output!( - view_data, - "{TITLE}{HELP}", - "{BODY}", - "{Normal} {ActionSquash}squash {Normal}aaa c1", - "{Selected}{Normal} > {ActionPick}pick {Normal}aaa c2{Pad( )}" + Body view_data, + action_line!(Squash "aaa", "c1"), + action_line!(Selected Pick "aaa", "c2") ); }, ); diff --git a/src/core/src/modules/list/tests/remove_lines.rs b/src/core/src/modules/list/tests/remove_lines.rs index ed7392a..acee492 100644 --- a/src/core/src/modules/list/tests/remove_lines.rs +++ b/src/core/src/modules/list/tests/remove_lines.rs @@ -1,7 +1,7 @@ use view::assert_rendered_output; use super::*; -use crate::testutil::module_test; +use crate::{action_line, testutil::module_test}; #[test] fn normal_mode_remove_line_first() { @@ -18,14 +18,11 @@ fn normal_mode_remove_line_first() { let mut module = create_list(&Config::new(), test_context.take_todo_file()); _ = test_context.handle_all_events(&mut module); assert_rendered_output!( - Options AssertRenderOptions::EXCLUDE_STYLE, - test_context.build_view_data(&mut module), - "{TITLE}{HELP}", - "{BODY}", - "{Selected} > pick bbb c2{Pad( )}", - " pick ccc c3", - " pick ddd c4", - " pick eee c5" + Body test_context.build_view_data(&mut module), + action_line!(Selected Pick "bbb", "c2"), + action_line!(Pick "ccc", "c3"), + action_line!(Pick "ddd", "c4"), + action_line!(Pick "eee", "c5") ); }, ); @@ -52,14 +49,11 @@ fn normal_mode_remove_line_end() { let mut module = create_list(&Config::new(), test_context.take_todo_file()); _ = test_context.handle_all_events(&mut module); assert_rendered_output!( - Options AssertRenderOptions::EXCLUDE_STYLE, - test_context.build_view_data(&mut module), - "{TITLE}{HELP}", - "{BODY}", - " pick aaa c1", - " pick bbb c2", - " pick ccc c3", - "{Selected} > pick ddd c4{Pad( )}" + Body test_context.build_view_data(&mut module), + action_line!(Pick "aaa", "c1"), + action_line!(Pick "bbb", "c2"), + action_line!(Pick "ccc", "c3"), + action_line!(Selected Pick "ddd", "c4") ); }, ); @@ -85,12 +79,9 @@ fn visual_mode_remove_lines_start_index_first() { let mut module = create_list(&Config::new(), test_context.take_todo_file()); _ = test_context.handle_all_events(&mut module); assert_rendered_output!( - Options AssertRenderOptions::EXCLUDE_STYLE, - test_context.build_view_data(&mut module), - "{TITLE}{HELP}", - "{BODY}", - "{Selected} > pick ddd c4{Pad( )}", - " pick eee c5" + Body test_context.build_view_data(&mut module), + action_line!(Selected Pick "ddd", "c4"), + action_line!(Pick "eee", "c5") ); assert_eq!( module.visual_index_start.unwrap(), @@ -122,12 +113,9 @@ fn visual_mode_remove_lines_end_index_first() { let mut module = create_list(&Config::new(), test_context.take_todo_file()); _ = test_context.handle_all_events(&mut module); assert_rendered_output!( - Options AssertRenderOptions::EXCLUDE_STYLE, - test_context.build_view_data(&mut module), - "{TITLE}{HELP}", - "{BODY}", - "{Selected} > pick ddd c4{Pad( )}", - " pick eee c5" + Body test_context.build_view_data(&mut module), + action_line!(Selected Pick "ddd", "c4"), + action_line!(Pick "eee", "c5") ); assert_eq!( module.visual_index_start.unwrap(), @@ -161,12 +149,9 @@ fn visual_mode_remove_lines_start_index_last() { let mut module = create_list(&Config::new(), test_context.take_todo_file()); _ = test_context.handle_all_events(&mut module); assert_rendered_output!( - Options AssertRenderOptions::EXCLUDE_STYLE, - test_context.build_view_data(&mut module), - "{TITLE}{HELP}", - "{BODY}", - " pick aaa c1", - "{Selected} > pick bbb c2{Pad( )}" + Body test_context.build_view_data(&mut module), + action_line!(Pick "aaa", "c1"), + action_line!(Selected Pick "bbb", "c2") ); assert_eq!( module.visual_index_start.unwrap(), @@ -198,12 +183,9 @@ fn visual_mode_remove_lines_end_index_last() { let mut module = create_list(&Config::new(), test_context.take_todo_file()); _ = test_context.handle_all_events(&mut module); assert_rendered_output!( - Options AssertRenderOptions::EXCLUDE_STYLE, - test_context.build_view_data(&mut module), - "{TITLE}{HELP}", - "{BODY}", - " pick aaa c1", - "{Selected} > pick bbb c2{Pad( )}" + Body test_context.build_view_data(&mut module), + action_line!(Pick "aaa", "c1"), + action_line!(Selected Pick "bbb", "c2") ); assert_eq!( module.visual_index_start.unwrap(), diff --git a/src/core/src/modules/list/tests/render.rs b/src/core/src/modules/list/tests/render.rs index 1397652..134d56e 100644 --- a/src/core/src/modules/list/tests/render.rs +++ b/src/core/src/modules/list/tests/render.rs @@ -129,3 +129,45 @@ fn noop_list() { ); }); } + +#[test] +fn pinned_segments() { + module_test( + &[ + "break", + "drop aaa c1", + "edit aaa c1", + "fixup aaa c1", + "pick aaa c1", + "reword aaa c1", + "squash aaa c1", + "exec command", + "label reference", + "reset reference", + "merge command", + ], + &[Event::from(MetaEvent::ActionDrop)], + |mut test_context| { + let mut module = create_list(&Config::new(), test_context.take_todo_file()); + _ = test_context.handle_all_events(&mut module); + let view_data = test_context.build_view_data(&mut module); + assert_rendered_output!( + Options AssertRenderOptions::INCLUDE_PINNED | AssertRenderOptions::EXCLUDE_STYLE, + view_data, + "{TITLE}{HELP}", + "{BODY}", + "{Pin(3)}{Selected} > break {Pad( )}", + "{Pin(2)} drop aaa c1", + "{Pin(2)} edit aaa c1", + "{Pin(2)} fixup aaa c1", + "{Pin(2)} pick aaa c1", + "{Pin(2)} reword aaa c1", + "{Pin(2)} squash aaa c1", + "{Pin(3)} exec command", + "{Pin(3)} label reference", + "{Pin(3)} reset reference", + "{Pin(3)} merge command" + ); + }, + ); +} diff --git a/src/core/src/modules/list/tests/search.rs b/src/core/src/modules/list/tests/search.rs index 367a64d..24cc24c 100644 --- a/src/core/src/modules/list/tests/search.rs +++ b/src/core/src/modules/list/tests/search.rs @@ -1,7 +1,7 @@ -use view::assert_rendered_output; +use view::{assert_rendered_output, render_line}; use super::*; -use crate::{assert_results, process::Artifact, testutil::module_test}; +use crate::{action_line, assert_results, process::Artifact, testutil::module_test}; #[test] fn start_edit() { @@ -16,7 +16,7 @@ fn start_edit() { view_data, "{TITLE}{HELP}", "{BODY}", - "{Selected}{Normal} > {ActionPick}pick {Normal}aaaaaaaa comment{Pad( )}", + render_line!(Not Contains "IndicatorColor"), "{TRAILING}", "{Normal}/{Normal,Underline}" ); @@ -42,7 +42,7 @@ fn with_match_on_hash() { view_data, "{TITLE}{HELP}", "{BODY}", - "{Selected}{Normal} > {ActionPick}pick {IndicatorColor}aaaaaaaa{Normal} comment1{Pad( )}", + render_line!(Contains "IndicatorColor"), "{TRAILING}", "{Normal}/aaa{Normal,Underline}" ); @@ -63,7 +63,7 @@ fn with_no_match() { view_data, "{TITLE}{HELP}", "{BODY}", - "{Selected}{Normal} > {ActionPick}pick {Normal}aaaaaaaa comment1{Pad( )}", + render_line!(Not Contains "IndicatorColor"), "{TRAILING}", "{Normal}/x{Normal,Underline}" ); @@ -88,7 +88,7 @@ fn start_with_matches_and_with_term() { view_data, "{TITLE}{HELP}", "{BODY}", - "{Selected}{Normal} > {ActionPick}pick {IndicatorColor,Underline}aaaaaaaa{Normal} comment1{Pad( )}", + render_line!(Contains "{IndicatorColor,Underline}"), "{TRAILING}", "{Normal}[a]: 1/1" ); @@ -113,7 +113,7 @@ fn start_with_no_matches_and_with_term() { view_data, "{TITLE}{HELP}", "{BODY}", - "{Selected}{Normal} > {ActionPick}pick {Normal}aaaaaaaa commen |