]> uap-core.de Git - note.git/commitdiff
add test_note_store_save_resource_async main
authorOlaf Wintermann <olaf.wintermann@gmail.com>
Wed, 14 Jan 2026 19:28:13 +0000 (20:28 +0100)
committerOlaf Wintermann <olaf.wintermann@gmail.com>
Wed, 14 Jan 2026 19:28:13 +0000 (20:28 +0100)
application/tests/test-store.c
application/tests/test-store.h
application/tests/testmain.c

index e5fe6dc05c485a807c20e56391953a1aa0cf10a4..2fd663d021bf75b069862a86cffdefd4b2d277c3 100644 (file)
@@ -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);
+    }
+}
index 341e349c28cd6e90ebfe7de2f90dc6b6c41c8335..ed281ce566371ccf13b444ba3af141af6a9c5839 100644 (file)
@@ -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
index 278e024e06831f60ccc0d211b6a341b996ca8eab..59a68aea4e1f041542d10a7424468f2720b78c5b 100644 (file)
@@ -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);