edterm/lib/tests/test-journal-file.c
2025-04-24 15:29:31 +02:00

64 lines
1.4 KiB
C

#include <stdarg.h>
#include <setjmp.h>
#include <stddef.h>
#include <cmocka.h>
#include <stdio.h>
#include <edapi/journal/file.h>
static void test_new_filename(void **state)
{
char const *filename = "Journal.2023-04-18T061507.01.log";
EDJournalFile *file = ed_journal_file_new();
EDErrorCode ret = 0;
assert_non_null(file);
ret = ed_journal_file_parse(file, filename);
assert_int_equal(ret, ed_error_success);
g_clear_object(&file);
}
static void test_valid_load(void **state)
{
char const *filename = "Journal.2023-04-18T061507.01.log";
FILE *F = fopen(filename, "w");
assert_non_null(F);
fprintf(F, "{ \"timestamp\":\"2023-04-18T04:14:56Z\", "
"\"event\":\"Fileheader\", \"part\":1, "
"\"language\":\"English/UK\", \"Odyssey\":true, "
"\"gameversion\":\"4.0.0.1477\", \"build\":\"r291050/r0 \" }\n"
);
fclose(F);
EDJournalFile *file = NULL;
EDErrorCode ret = 0;
GError *error = NULL;
file = ed_journal_file_new();
assert_non_null(file);
ret = ed_journal_file_open(file, filename, &error);
assert_null(error);
assert_int_equal(ret, ed_error_success);
g_clear_object(&file);
}
int main(int ac, char **av)
{
static const struct CMUnitTest tests[] = {
cmocka_unit_test(test_new_filename),
cmocka_unit_test(test_valid_load),
};
return cmocka_run_group_tests(tests, NULL, NULL);
}