summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Oram <dev@mitmaro.ca>2023-08-05 15:43:15 -0230
committerTim Oram <dev@mitmaro.ca>2023-08-06 20:13:15 -0230
commitc2b679bf91ef4e966983c614d16ada744856dd87 (patch)
treeeaa30186de0575354c251c069e43701097572da8
parentbbee0ed97998e4ec6bf69d0faa7a8560f66fbef3 (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.lock1
-rw-r--r--src/core/Cargo.toml1
-rw-r--r--src/core/src/modules/list/tests/change_action.rs176
-rw-r--r--src/core/src/modules/list/tests/movement.rs211
-rw-r--r--src/core/src/modules/list/tests/normal_mode.rs10
-rw-r--r--src/core/src/modules/list/tests/remove_lines.rs64
-rw-r--r--src/core/src/modules/list/tests/render.rs42
-rw-r--r--src/core/src/modules/list/tests/search.rs85
-rw-r--r--src/core/src/modules/list/tests/swap_lines.rs144
-rw-r--r--src/core/src/modules/list/tests/toggle_break.rs30
-rw-r--r--src/core/src/modules/list/tests/undo_redo.rs70
-rw-r--r--src/core/src/modules/list/tests/visual_mode.rs86
-rw-r--r--src/core/src/modules/show_commit/tests.rs73
-rw-r--r--src/core/src/testutil/action_line.rs215
-rw-r--r--src/core/src/testutil/mod.rs2
15 files changed, 617 insertions, 593 deletions
diff --git a/Cargo.lock b/Cargo.lock
index dd2c816..40d5b05 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -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