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);
+ }
+}
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);