Skip to content

Commit c2b679b

Browse files
committed
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.
1 parent bbee0ed commit c2b679b

File tree

15 files changed

+617
-593
lines changed

15 files changed

+617
-593
lines changed

Cargo.lock

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/core/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ girt-view = {version = "2.3.0", path = "../../src/view"}
3636
[dev-dependencies]
3737
claims = "0.7.1"
3838
pretty_assertions = "1.4.0"
39+
regex = "1.8.3"
3940
rstest = "0.18.1"
4041
serial_test = "2.0.0"
4142
girt-view = {version = "2.3.0", path = "../../src/view", features = ["testutils"]}

src/core/src/modules/list/tests/change_action.rs

Lines changed: 47 additions & 129 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,7 @@
11
use view::assert_rendered_output;
22

33
use super::*;
4-
use crate::testutil::module_test;
5-
6-
#[test]
7-
fn pinned_segments() {
8-
module_test(
9-
&[
10-
"break",
11-
"drop aaa c1",
12-
"edit aaa c1",
13-
"fixup aaa c1",
14-
"pick aaa c1",
15-
"reword aaa c1",
16-
"squash aaa c1",
17-
"exec command",
18-
"label reference",
19-
"reset reference",
20-
"merge command",
21-
],
22-
&[Event::from(MetaEvent::ActionDrop)],
23-
|mut test_context| {
24-
let mut module = create_list(&Config::new(), test_context.take_todo_file());
25-
_ = test_context.handle_all_events(&mut module);
26-
let view_data = test_context.build_view_data(&mut module);
27-
assert_rendered_output!(
28-
Options AssertRenderOptions::INCLUDE_PINNED | AssertRenderOptions::EXCLUDE_STYLE,
29-
view_data,
30-
"{TITLE}{HELP}",
31-
"{BODY}",
32-
"{Pin(3)}{Selected} > break {Pad( )}",
33-
"{Pin(2)} drop aaa c1",
34-
"{Pin(2)} edit aaa c1",
35-
"{Pin(2)} fixup aaa c1",
36-
"{Pin(2)} pick aaa c1",
37-
"{Pin(2)} reword aaa c1",
38-
"{Pin(2)} squash aaa c1",
39-
"{Pin(3)} exec command",
40-
"{Pin(3)} label reference",
41-
"{Pin(3)} reset reference",
42-
"{Pin(3)} merge command"
43-
);
44-
},
45-
);
46-
}
4+
use crate::{action_line, testutil::module_test};
475

486
#[test]
497
fn normal_mode_action_change_to_drop() {
@@ -54,13 +12,7 @@ fn normal_mode_action_change_to_drop() {
5412
let mut module = create_list(&Config::new(), test_context.take_todo_file());
5513
_ = test_context.handle_all_events(&mut module);
5614
let view_data = test_context.build_view_data(&mut module);
57-
assert_rendered_output!(
58-
Options AssertRenderOptions::EXCLUDE_STYLE,
59-
view_data,
60-
"{TITLE}{HELP}",
61-
"{BODY}",
62-
"{Selected} > drop aaa c1{Pad( )}"
63-
);
15+
assert_rendered_output!(Body view_data, action_line!(Selected Drop "aaa", "c1"));
6416
},
6517
);
6618
}
@@ -87,15 +39,12 @@ fn visual_mode_action_change_to_drop() {
8739
_ = test_context.handle_all_events(&mut module);
8840
let view_data = test_context.build_view_data(&mut module);
8941
assert_rendered_output!(
90-
Options AssertRenderOptions::EXCLUDE_STYLE,
91-
view_data,
92-
"{TITLE}{HELP}",
93-
"{BODY}",
94-
" pick aaa c1",
95-
"{Selected} > drop aaa c2{Pad( )}",
96-
"{Selected} > drop aaa c3{Pad( )}",
97-
"{Selected} > drop aaa c4{Pad( )}",
98-
" pick aaa c5"
42+
Body view_data,
43+
action_line!(Pick "aaa", "c1"),
44+
action_line!(Drop "aaa", "c2"),
45+
action_line!(Drop "aaa", "c3"),
46+
action_line!(Drop "aaa", "c4"),
47+
action_line!(Pick "aaa", "c5")
9948
);
10049
},
10150
);
@@ -111,11 +60,8 @@ fn normal_mode_action_change_to_edit() {
11160
_ = test_context.handle_all_events(&mut module);
11261
let view_data = test_context.build_view_data(&mut module);
11362
assert_rendered_output!(
114-
Options AssertRenderOptions::EXCLUDE_STYLE,
115-
view_data,
116-
"{TITLE}{HELP}",
117-
"{BODY}",
118-
"{Selected} > edit aaa c1{Pad( )}"
63+
Body view_data,
64+
action_line!(Selected Edit "aaa", "c1")
11965
);
12066
},
12167
);
@@ -143,15 +89,12 @@ fn visual_mode_action_change_to_edit() {
14389
_ = test_context.handle_all_events(&mut module);
14490
let view_data = test_context.build_view_data(&mut module);
14591
assert_rendered_output!(
146-
Options AssertRenderOptions::EXCLUDE_STYLE,
147-
view_data,
148-
"{TITLE}{HELP}",
149-
"{BODY}",
150-
" pick aaa c1",
151-
"{Selected} > edit aaa c2{Pad( )}",
152-
"{Selected} > edit aaa c3{Pad( )}",
153-
"{Selected} > edit aaa c4{Pad( )}",
154-
" pick aaa c5"
92+
Body view_data,
93+
action_line!(Pick "aaa", "c1"),
94+
action_line!(Selected Edit "aaa", "c2"),
95+
action_line!(Selected Edit "aaa", "c3"),
96+
action_line!(Selected Edit "aaa", "c4"),
97+
action_line!(Pick "aaa", "c5")
15598
);
15699
},
157100
);
@@ -167,11 +110,8 @@ fn normal_mode_action_change_to_fixup() {
167110
_ = test_context.handle_all_events(&mut module);
168111
let view_data = test_context.build_view_data(&mut module);
169112
assert_rendered_output!(
170-
Options AssertRenderOptions::EXCLUDE_STYLE,
171-
view_data,
172-
"{TITLE}{HELP}",
173-
"{BODY}",
174-
"{Selected} > fixup aaa c1{Pad( )}"
113+
Body view_data,
114+
action_line!(Selected Fixup "aaa", "c1")
175115
);
176116
},
177117
);
@@ -199,15 +139,12 @@ fn visual_mode_action_change_to_fixup() {
199139
_ = test_context.handle_all_events(&mut module);
200140
let view_data = test_context.build_view_data(&mut module);
201141
assert_rendered_output!(
202-
Options AssertRenderOptions::EXCLUDE_STYLE,
203-
view_data,
204-
"{TITLE}{HELP}",
205-
"{BODY}",
206-
" pick aaa c1",
207-
"{Selected} > fixup aaa c2{Pad( )}",
208-
"{Selected} > fixup aaa c3{Pad( )}",
209-
"{Selected} > fixup aaa c4{Pad( )}",
210-
" pick aaa c5"
142+
Body view_data,
143+
action_line!(Pick "aaa", "c1"),
144+
action_line!(Selected Fixup "aaa", "c2"),
145+
action_line!(Selected Fixup "aaa", "c3"),
146+
action_line!(Selected Fixup "aaa", "c4"),
147+
action_line!(Pick "aaa", "c5")
211148
);
212149
},
213150
);
@@ -223,11 +160,8 @@ fn normal_mode_action_change_to_pick() {
223160
_ = test_context.handle_all_events(&mut module);
224161
let view_data = test_context.build_view_data(&mut module);
225162
assert_rendered_output!(
226-
Options AssertRenderOptions::EXCLUDE_STYLE,
227-
view_data,
228-
"{TITLE}{HELP}",
229-
"{BODY}",
230-
"{Selected} > pick aaa c1{Pad( )}"
163+
Body view_data,
164+
action_line!(Selected Pick "aaa", "c1")
231165
);
232166
},
233167
);
@@ -255,15 +189,12 @@ fn visual_mode_action_change_to_pick() {
255189
_ = test_context.handle_all_events(&mut module);
256190
let view_data = test_context.build_view_data(&mut module);
257191
assert_rendered_output!(
258-
Options AssertRenderOptions::EXCLUDE_STYLE,
259-
view_data,
260-
"{TITLE}{HELP}",
261-
"{BODY}",
262-
" drop aaa c1",
263-
"{Selected} > pick aaa c2{Pad( )}",
264-
"{Selected} > pick aaa c3{Pad( )}",
265-
"{Selected} > pick aaa c4{Pad( )}",
266-
" drop aaa c5"
192+
Body view_data,
193+
action_line!(Drop "aaa", "c1"),
194+
action_line!(Selected Pick "aaa", "c2"),
195+
action_line!(Selected Pick "aaa", "c3"),
196+
action_line!(Selected Pick "aaa", "c4"),
197+
action_line!(Drop "aaa", "c5")
267198
);
268199
},
269200
);
@@ -279,11 +210,8 @@ fn normal_mode_action_change_to_reword() {
279210
_ = test_context.handle_all_events(&mut module);
280211
let view_data = test_context.build_view_data(&mut module);
281212
assert_rendered_output!(
282-
Options AssertRenderOptions::EXCLUDE_STYLE,
283-
view_data,
284-
"{TITLE}{HELP}",
285-
"{BODY}",
286-
"{Selected} > reword aaa c1{Pad( )}"
213+
Body view_data,
214+
action_line!(Selected Reword "aaa", "c1")
287215
);
288216
},
289217
);
@@ -311,15 +239,12 @@ fn visual_mode_action_change_to_reword() {
311239
_ = test_context.handle_all_events(&mut module);
312240
let view_data = test_context.build_view_data(&mut module);
313241
assert_rendered_output!(
314-
Options AssertRenderOptions::EXCLUDE_STYLE,
315-
view_data,
316-
"{TITLE}{HELP}",
317-
"{BODY}",
318-
" pick aaa c1",
319-
"{Selected} > reword aaa c2{Pad( )}",
320-
"{Selected} > reword aaa c3{Pad( )}",
321-
"{Selected} > reword aaa c4{Pad( )}",
322-
" pick aaa c5"
242+
Body view_data,
243+
action_line!(Pick "aaa", "c1"),
244+
action_line!(Selected Reword "aaa", "c2"),
245+
action_line!(Selected Reword "aaa", "c3"),
246+
action_line!(Selected Reword "aaa", "c4"),
247+
action_line!(Pick "aaa", "c5")
323248
);
324249
},
325250
);
@@ -335,11 +260,7 @@ fn normal_mode_action_change_to_squash() {
335260
_ = test_context.handle_all_events(&mut module);
336261
let view_data = test_context.build_view_data(&mut module);
337262
assert_rendered_output!(
338-
Options AssertRenderOptions::EXCLUDE_STYLE,
339-
view_data,
340-
"{TITLE}{HELP}",
341-
"{BODY}",
342-
"{Selected} > squash aaa c1{Pad( )}"
263+
Body view_data, action_line!(Squash "aaa", "c1")
343264
);
344265
},
345266
);
@@ -367,15 +288,12 @@ fn visual_mode_action_change_to_squash() {
367288
_ = test_context.handle_all_events(&mut module);
368289
let view_data = test_context.build_view_data(&mut module);
369290
assert_rendered_output!(
370-
Options AssertRenderOptions::EXCLUDE_STYLE,
371-
view_data,
372-
"{TITLE}{HELP}",
373-
"{BODY}",
374-
" pick aaa c1",
375-
"{Selected} > squash aaa c2{Pad( )}",
376-
"{Selected} > squash aaa c3{Pad( )}",
377-
"{Selected} > squash aaa c4{Pad( )}",
378-
" pick aaa c5"
291+
Body view_data,
292+
action_line!(Pick "aaa", "c1"),
293+
action_line!(Squash "aaa", "c2"),
294+
action_line!(Squash "aaa", "c3"),
295+
action_line!(Squash "aaa", "c4"),
296+
action_line!(Pick "aaa", "c5")
379297
);
380298
},
381299
);

0 commit comments

Comments
 (0)