summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Oram <dev@mitmaro.ca>2023-08-07 09:46:03 -0230
committerTim Oram <dev@mitmaro.ca>2023-08-07 09:58:46 -0230
commit5d963062e25a7b3915acd19a03772b4f981aefbb (patch)
treed7719bbeffb53b0eb7a366124e5b22eaf9746e66
parent22230cbf7df10b5b50e61d468efaa9fb2abb57b8 (diff)
Fix action_line macro selected assertion
The action_line macro was not correctly asserting that unselected lines were not selected. This updates the assertion to check selection on unselected line, fixes some error output formatting around selected lines, and fixes the few tests that were not using the correct selected action line.
-rw-r--r--src/core/src/modules/list/tests/change_action.rs14
-rw-r--r--src/core/src/testutil/action_line.rs13
2 files changed, 16 insertions, 11 deletions
diff --git a/src/core/src/modules/list/tests/change_action.rs b/src/core/src/modules/list/tests/change_action.rs
index 173fea1..5d21dc7 100644
--- a/src/core/src/modules/list/tests/change_action.rs
+++ b/src/core/src/modules/list/tests/change_action.rs
@@ -41,9 +41,9 @@ fn visual_mode_action_change_to_drop() {
assert_rendered_output!(
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!(Selected Drop "aaa", "c2"),
+ action_line!(Selected Drop "aaa", "c3"),
+ action_line!(Selected Drop "aaa", "c4"),
action_line!(Pick "aaa", "c5")
);
},
@@ -260,7 +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!(
- Body view_data, action_line!(Squash "aaa", "c1")
+ Body view_data, action_line!(Selected Squash "aaa", "c1")
);
},
);
@@ -290,9 +290,9 @@ fn visual_mode_action_change_to_squash() {
assert_rendered_output!(
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!(Selected Squash "aaa", "c2"),
+ action_line!(Selected Squash "aaa", "c3"),
+ action_line!(Selected Squash "aaa", "c4"),
action_line!(Pick "aaa", "c5")
);
},
diff --git a/src/core/src/testutil/action_line.rs b/src/core/src/testutil/action_line.rs
index a4dcdc3..26d6db7 100644
--- a/src/core/src/testutil/action_line.rs
+++ b/src/core/src/testutil/action_line.rs
@@ -73,7 +73,12 @@ impl ActionPattern {
impl LinePattern for ActionPattern {
fn matches(&self, rendered: &str) -> bool {
- if self.selected && !rendered.contains("{Selected}") {
+ if rendered.contains("{Selected}") {
+ if !self.selected {
+ return false;
+ }
+ }
+ else if self.selected {
return false;
}
@@ -101,10 +106,10 @@ impl LinePattern for ActionPattern {
fn expected(&self) -> String {
if self.selected {
- format!("> {}", replace_invisibles(self.line.to_text().as_str()))
+ replace_invisibles(format!("> {}", self.line.to_text()).as_str())
}
else {
- format!(" {}", replace_invisibles(self.line.to_text().as_str()))
+ replace_invisibles(format!(" {}", self.line.to_text()).as_str())
}
}
@@ -113,7 +118,7 @@ impl LinePattern for ActionPattern {
else {
return String::from(rendered);
};
- if self.selected {
+ if rendered.contains("{Selected}") {
replace_invisibles(format!("> {}", actual_line_parsed.to_text()).as_str())
}
else {