From: Olaf Wintermann Date: Wed, 14 Jan 2026 19:28:13 +0000 (+0100) Subject: add test_note_store_save_resource_async X-Git-Url: https://uap-core.de/gitweb/?a=commitdiff_plain;h=e6400348a8ad0a44ff87c1dd18d5460e522e83b8;p=note.git add test_note_store_save_resource_async --- diff --git a/application/tests/test-store.c b/application/tests/test-store.c index e5fe6dc..2fd663d 100644 --- a/application/tests/test-store.c +++ b/application/tests/test-store.c @@ -222,3 +222,51 @@ CX_TEST(test_note_store_new_notebook_async) { ui_close(obj); } } + +static void test_save_resource_result(UiEvent *event, int error, void *userdata) { + int *ptr = userdata; + *ptr = error; +} + +CX_TEST(test_note_store_save_resource_async) { + CX_TEST_DO { + UiObject *obj = ui_dummy_object(); + + NoteStore *store = note_store_get(); + CX_TEST_ASSERT(store); + + Resource *res = NULL; + // get previously created resource "test_note_store_new_resource_async" + CxIterator i = cxListIterator(store->root->children); + cx_foreach(Resource *, resource, i) { + if(!cx_strcmp(resource->nodename, "test_note_store_new_resource_async")) { + res = resource; + break; + } + } + CX_TEST_ASSERT(res); + + cxFree(store->mp->allocator, res->nodename); + res->nodename = cx_strdup_a(store->mp->allocator, "test_save_resource_result").ptr; + + int result = -1; + note_store_save_resource_async(obj, res, test_save_resource_result, &result); + ui_exec_buffered_mainthread_calls_wait(3); + + CX_TEST_ASSERT(!note_store_reload()); + store = note_store_get(); + + CX_TEST_ASSERT(store && store->root && store->root->children); + int res_found = 0; + i = cxListIterator(store->root->children); + cx_foreach(Resource *, resource, i) { + if(!cx_strcmp(resource->nodename, "test_save_resource_result")) { + res_found = 1; + break; + } + } + CX_TEST_ASSERT(res_found); + + ui_close(obj); + } +} diff --git a/application/tests/test-store.h b/application/tests/test-store.h index 341e349..ed281ce 100644 --- a/application/tests/test-store.h +++ b/application/tests/test-store.h @@ -42,6 +42,7 @@ CX_TEST(test_user_settings_is_valid); CX_TEST(test_note_store_reload); CX_TEST(test_note_store_new_resource_async); CX_TEST(test_note_store_new_notebook_async); +CX_TEST(test_note_store_save_resource_async); #ifdef __cplusplus diff --git a/application/tests/testmain.c b/application/tests/testmain.c index 278e024..59a68ae 100644 --- a/application/tests/testmain.c +++ b/application/tests/testmain.c @@ -59,6 +59,7 @@ int main(int argc, char **argv) { cx_test_register(suite, test_note_store_reload); cx_test_register(suite, test_note_store_new_resource_async); cx_test_register(suite, test_note_store_new_notebook_async); + cx_test_register(suite, test_note_store_save_resource_async); cx_test_register(suite, test_parse_markdown_para); cx_test_register(suite, test_parse_markdown_formatting_simple);