==> tests/kit.c <==1/* The kit's formats against Rust's (values from ui.rs's helpers run under cargo). */
2#include "mesh/check.h"
3#include "mesh/top_ui_kit.h"
4
5#include <math.h>
6
7int main(void) {
8 tui_arena a = {0};
9 mt_frame f = {&a, NULL};
10 CHECK_S(mt_fmt_uptime(&f, 3723000), "1h02m03s");
11 CHECK_S(mt_fmt_uptime(&f, 59999), "0m59s");
12 CHECK_S(mt_fmt_rate(&f, 1234567.0f), "1.23M");
13 CHECK_S(mt_fmt_rate(&f, 12345.0f), "12.3k");
14 CHECK_S(mt_fmt_rate(&f, 0.25f), "0.2");
15 CHECK_S(mt_fmt_us(&f, 1500.0f), "1.5ms");
16 CHECK_S(mt_fmt_us(&f, 2.5f), "2us");
17 CHECK_S(mt_fmt_us(&f, NAN), "0");
18 CHECK_S(mt_fmt_bytes(&f, 0), "-");
19 CHECK_S(mt_fmt_bytes(&f, 17u << 20), "17.0M");
20 CHECK_S(mt_fmt_bytes(&f, (uint64_t)3 << 29), "1.5G");
21 CHECK_S(mt_pct(&f, 0.355f), "36%");
22 CHECK_S(mt_pct(&f, 20.0f), "999%");
23 CHECK_S(mt_mask_list(&f, 0x15), "0,2,4");
24 CHECK_S(mt_short_gpu(&f, "NVIDIA GeForce RTX 3060"), "RTX 3060");
25 CHECK_S(mt_pad(&f, "ab", 5, '^'), " ab ");
26 CHECK_S(mt_take(&f, "→abc", 2), "→a");
27 CHECK_U(mt_sat_u8(-3.0f), 0);
28 CHECK_U(mt_sat_u8(300.0f), 255);
29 CHECK_U(mt_sat_u8(NAN), 0);
30 tui_color c = mt_rgb((const uint8_t[3]){200, 100, 50}, 1.5f);
31 CHECK_U(c.r, 255);
32 CHECK_U(c.g, 150);
33 CHECK_U(c.b, 75);
34 c = mt_lerp((const uint8_t[3]){70, 80, 120}, (const uint8_t[3]){16, 18, 30}, 0.5f);
35 CHECK_U(c.r, 43);
36 CHECK_U(c.g, 49);
37 CHECK_U(c.b, 75);
38 tui_arena_free(&a);
39 return mesh_check_done();
40}