summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorBerke Güzel <wenekar1@gmail.com>2026-10-13 14:46:44 +0300
committerBerke Güzel <wenekar1@gmail.com>2026-10-13 14:46:44 +0300
commit1e69599900a753e2d7275d7ba714202b7d9c843e (patch)
tree13416f651319145aa5dbdd85b9947bec4858b366 /tests
parent5ab6b560e8528c27ba934b90f94b1828b7771e27 (diff)
Eliminate pen style and history stream parameter smuggling
- Introduce struct text_pen bundling (fg, bg, sl) across screen and core - Reduce text_append from 9 to 7 parameters - Reduce text_commit from 8 to 6 parameters - Reduce hist_runs_add_pen from 5 to 3 parameters - Reduce sc_text_ascii and sc_ascii_fast from 6 to 4 parameters - Remove unused fg, bg parameters from mark_row_blank - Introduce struct hist_stream_state in src/hist.c, reducing stream_lines from 9 to 5 params and lf_rows from 10 to 6 params - Introduce struct hist_view_pos in src/hist_view.h, reducing term_hist_view_row_pos from 9 to 7 params
Diffstat (limited to 'tests')
-rw-r--r--tests/hist_test.c18
1 files changed, 7 insertions, 11 deletions
diff --git a/tests/hist_test.c b/tests/hist_test.c
index be9fd3f..f05c279 100644
--- a/tests/hist_test.c
+++ b/tests/hist_test.c
@@ -678,27 +678,23 @@ static void test_view_after_prefix_eviction(void)
term_hist_push_ascii(&h, bytes, sizeof(bytes), NULL, true);
}
term_hist_view_scroll_to(&view, &h, 1000, (struct line_pos){0}, 10);
- uint64_t id;
- int seg, screen_y;
+ struct hist_view_pos pos;
struct cell before[1000], after[1000];
- assert(term_hist_view_row_pos(&view, &h, 1000, 3, (struct line_pos){0},
- 0, &id, &seg, &screen_y));
- assert(term_hist_decode_segment(&h, id, seg, 1000, before, NULL) == 1000);
+ assert(term_hist_view_row_pos(&view, &h, 1000, 3, (struct line_pos){0}, 0, &pos));
+ assert(term_hist_decode_segment(&h, pos.id, pos.seg, 1000, before, NULL) == 1000);
for (int i = 100; i < 140; i++) {
memset(bytes, 'A' + i % 26, sizeof(bytes));
term_hist_push_ascii(&h, bytes, sizeof(bytes), NULL, true);
term_hist_view_note_push(&view, &h, 1000);
}
assert(term_hist_line_cells(&h, 0) < 140000);
- assert(term_hist_view_row_pos(&view, &h, 1000, 3, (struct line_pos){0},
- 0, &id, &seg, &screen_y));
- assert(term_hist_decode_segment(&h, id, seg, 1000, after, NULL) == 1000);
+ assert(term_hist_view_row_pos(&view, &h, 1000, 3, (struct line_pos){0}, 0, &pos));
+ assert(term_hist_decode_segment(&h, pos.id, pos.seg, 1000, after, NULL) == 1000);
for (int i = 0; i < 1000; i++)
assert(before[i].c == after[i].c);
term_hist_view_rewrap(&view, &h, 500);
- assert(term_hist_view_row_pos(&view, &h, 500, 3, (struct line_pos){0},
- 0, &id, &seg, &screen_y));
- assert(term_hist_decode_segment(&h, id, seg, 500, after, NULL) == 500);
+ assert(term_hist_view_row_pos(&view, &h, 500, 3, (struct line_pos){0}, 0, &pos));
+ assert(term_hist_decode_segment(&h, pos.id, pos.seg, 500, after, NULL) == 500);
for (int i = 0; i < 500; i++)
assert(before[i].c == after[i].c);
term_hist_view_free(&view);