summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Oram <dev@mitmaro.ca>2020-09-16 10:23:31 -0230
committerTim Oram <dev@mitmaro.ca>2020-09-16 11:25:20 -0230
commit1270097a2e2a95fc815d3d1104e3444f298bc7f1 (patch)
tree469a4196a00d89b8324edbeeeb09ea9ad2259915
parent9de8128086f3a37f7fc3bf87a8c9c7db9c88915c (diff)
Trim trailing whitespace from test render
Trailing whitespace padding results in difficult to generate test cases and generally is an implementation detail. So ignore segments that appear to be padding segments.
-rw-r--r--src/view/testutil.rs15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/view/testutil.rs b/src/view/testutil.rs
index e66e43d..330b3e2 100644
--- a/src/view/testutil.rs
+++ b/src/view/testutil.rs
@@ -46,7 +46,20 @@ fn render_style(color: DisplayColor, selected: bool, dimmed: bool, underline: bo
fn render_view_line(view_line: &ViewLine) -> String {
let mut line = String::new();
- for segment in view_line.get_segments() {
+ let segments = view_line.get_segments();
+ for (index, segment) in segments.iter().enumerate() {
+ let content = segment.get_content();
+ // skip any trailing padding whitespace segments to make diff building/matching easier
+ // this could probably be done in a better way, but I cannot think of it just now - Tim
+ if index + 1 == segments.len()
+ && segment.get_color() == DisplayColor::Normal
+ && !segment.is_dimmed()
+ && !segment.is_reversed()
+ && !segment.is_underlined()
+ && content.trim().is_empty()
+ {
+ continue;
+ }
line.push_str(
render_style(
segment.get_color(),