#define _DEFAULT_SOURCE #include #include #include #include #include #include #include #include static void test_userprofile_location(void **state) { setenv("USERPROFILE", "./", 1); EDJournal *journal = ed_journal_new_with_location(NULL, NULL); assert_non_null(journal); gchar const *location = ed_journal_get_location(journal); assert_non_null(location); g_clear_object(&journal); } static void test_file_sorting(void **state) { setenv("USERPROFILE", "./", 1); EDJournal *journal = ed_journal_new_with_location(NULL, NULL); assert_non_null(journal); gchar const *location = ed_journal_get_location(journal); assert_non_null(location); GList *files = ed_journal_get_files(journal); assert_non_null(files); assert_non_null(files->data); GDateTime *datetime = NULL; datetime = ed_journal_file_get_datetime( ED_JOURNALFILE(files->data) ); assert_non_null(datetime); assert_int_equal(g_date_time_get_year(datetime), 2023); datetime = ed_journal_file_get_datetime( ED_JOURNALFILE(files->next->data) ); assert_non_null(datetime); assert_int_equal(g_date_time_get_year(datetime), 2024); datetime = ed_journal_file_get_datetime( ED_JOURNALFILE(files->next->next->data) ); assert_non_null(datetime); assert_int_equal(g_date_time_get_year(datetime), 2025); g_clear_object(&journal); } int main(int ac, char **av) { static const struct CMUnitTest tests[] = { cmocka_unit_test(test_userprofile_location), cmocka_unit_test(test_file_sorting), }; return cmocka_run_group_tests(tests, NULL, NULL); }