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

index ad931e29bb295d5ca38be4889f9964cf61462fd0..e5fe6dc05c485a807c20e56391953a1aa0cf10a4 100644 (file)
@@ -179,3 +179,46 @@ CX_TEST(test_note_store_new_resource_async) {
         ui_close(obj);
     }
 }
+
+static void test_new_notebook_result(UiEvent *event, int64_t newid, int error, void *userdata) {
+    int64_t *ptr = userdata;
+    ptr[0] = newid;
+    ptr[1] = error;
+}
+
+CX_TEST(test_note_store_new_notebook_async) {
+    CX_TEST_DO {
+        UiObject *obj = ui_dummy_object();
+        
+        NoteStore *store = note_store_get();
+        CX_TEST_ASSERT(store);
+        
+        Resource res0 = { 0 };
+        res0.nodename = "note_store_new_notebook_async";
+        res0.parent_id = store->root->resource_id;
+        res0.iscollection = TRUE;
+        
+        int64_t result[2] = { 0, -1 };
+        note_store_new_notebook_async(obj, &res0, test_new_notebook_result, result);
+        ui_exec_buffered_mainthread_calls_wait(3);
+        
+        CX_TEST_ASSERT(result[0] > 0);
+        CX_TEST_ASSERT(result[1] == 0);
+        
+        CX_TEST_ASSERT(!note_store_reload());
+        store = note_store_get();
+        
+        CX_TEST_ASSERT(store && store->root && store->root->children);
+        int res_found = 0;
+        CxIterator i = cxListIterator(store->root->children);
+        cx_foreach(Resource *, resource, i) {
+            if(!cx_strcmp(resource->nodename, res0.nodename)) {
+                res_found = 1;
+                break;
+            }
+        }
+        CX_TEST_ASSERT(res_found);
+        
+        ui_close(obj);
+    }
+}
index f4c1b316e6fd04461c791179243d3a07ea258873..341e349c28cd6e90ebfe7de2f90dc6b6c41c8335 100644 (file)
@@ -41,6 +41,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);
 
 
 #ifdef __cplusplus
index 79a4207bd30f28d40e9a2f3701f070e15df20004..278e024e06831f60ccc0d211b6a341b996ca8eab 100644 (file)
@@ -58,6 +58,7 @@ int main(int argc, char **argv) {
     cx_test_register(suite, test_user_settings_is_valid);
     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_parse_markdown_para);
     cx_test_register(suite, test_parse_markdown_formatting_simple);