// BadWolf: Minimalist and privacy-oriented WebKitGTK+ browser // Copyright © 2019-2021 Badwolf Authors // SPDX-License-Identifier: BSD-3-Clause #include "fmt.h" #include static void fmt_context_id_test(void) { struct { const char *expect; uint64_t context_id; } cases[] = { // {"A: ", 0}, {"B: ", 1}, {"Y: ", 24}, {"Z: ", 25}, {"AA: ", 26}, {"AB: ", 27}, {"AZ: ", 51}, {"BA: ", 52}, {"BB: ", 53}, {"QKWW: ", 4294967296}, // 2^32 {"JFHI: ", 9223372036854775808}, // 2^63 {"TLPO: ", 18446744073709551614}, // 2^64 -2 {"TLPP: ", 18446744073709551615}, // 2^64 -1 (aka UINT64_MAX) }; for(size_t i = 0; i < sizeof(cases) / sizeof(cases[0]); i++) { g_info("fmt_context_id(%lu)", cases[i].context_id); /* flawfinder: ignore. bound checks are done */ char got[BADWOLF_CTX_SIZ] = {0, 0, 0, 0, 0, 0, 0}; fmt_context_id(cases[i].context_id, got); if(strncmp(got, cases[i].expect, BADWOLF_CTX_SIZ) != 0) { g_error("expected: \"%s\", got: \"%s\"", cases[i].expect, got); } } } int main(int argc, char *argv[]) { g_test_init(&argc, &argv, NULL); g_test_add_func("/fmt_context_id/test", fmt_context_id_test); return g_test_run(); }