skip to content
==> tests/basics.c <==
1/* The splits mesh-top relies on most: lengths and fills, percentages, overflow. */
2#include "mesh/check.h"
3#include "tui/layout.h"
4
5int main(void) {
6    tui_rect out[3];
7    tui_vsplit((tui_rect){0, 0, 100, 30}, 3, (tui_constraint[]){TUI_LENGTH(1), TUI_FILL(1), TUI_LENGTH(1)}, out);
8    CHECK(tui_rect_eq(out[0], (tui_rect){0, 0, 100, 1}));
9    CHECK(tui_rect_eq(out[1], (tui_rect){0, 1, 100, 28}));
10    CHECK(tui_rect_eq(out[2], (tui_rect){0, 29, 100, 1}));
11    tui_hsplit((tui_rect){0, 0, 100, 1}, 2, (tui_constraint[]){TUI_PERCENTAGE(45), TUI_FILL(1)}, out);
12    CHECK_U(out[0].width, 45);
13    CHECK_U(out[1].width, 55);
14    tui_hsplit((tui_rect){0, 0, 99, 1}, 2, (tui_constraint[]){TUI_FILL(1), TUI_FILL(1)}, out);
15    CHECK_U(out[0].width + out[1].width, 99);
16    tui_layout_cache_clear();
17    return mesh_check_done();
18}