#include "support.h" #include #include START_TEST (data_new) { char *testbed = setup_testbed(NULL); OSyncError *error = NULL; OSyncObjFormat *format = osync_objformat_new("test", "test", &error); fail_unless(format != NULL, NULL); fail_unless(error == NULL, NULL); OSyncData *data = osync_data_new(NULL, 0, format, &error); fail_unless(data != NULL, NULL); fail_unless(error == NULL, NULL); osync_data_ref(data); osync_data_unref(data); osync_data_unref(data); osync_objformat_unref(format); destroy_testbed(testbed); } END_TEST START_TEST (data_new_with_data) { char *testbed = setup_testbed(NULL); OSyncError *error = NULL; OSyncObjFormat *format = osync_objformat_new("test", "test", &error); fail_unless(format != NULL, NULL); fail_unless(error == NULL, NULL); OSyncData *data = osync_data_new("test", 4, format, &error); fail_unless(data != NULL, NULL); fail_unless(error == NULL, NULL); osync_objformat_unref(format); char *buffer = NULL; unsigned int size = 0; osync_data_get_data(data, &buffer, &size); fail_unless(!strncmp(buffer, "test", 4), NULL); fail_unless(size == 4, NULL); osync_data_unref(data); destroy_testbed(testbed); } END_TEST START_TEST (data_set_data) { char *testbed = setup_testbed(NULL); OSyncError *error = NULL; OSyncObjFormat *format = osync_objformat_new("test", "test", &error); fail_unless(format != NULL, NULL); fail_unless(error == NULL, NULL); OSyncData *data = osync_data_new(NULL, 0, format, &error); fail_unless(data != NULL, NULL); fail_unless(error == NULL, NULL); osync_objformat_unref(format); osync_data_set_data(data, "test", 4); char *buffer = NULL; unsigned int size = 0; osync_data_get_data(data, &buffer, &size); fail_unless(!strncmp(buffer, "test", 4), NULL); fail_unless(size == 4, NULL); osync_data_unref(data); destroy_testbed(testbed); } END_TEST START_TEST (data_set_data2) { char *testbed = setup_testbed(NULL); OSyncError *error = NULL; OSyncObjFormat *format = osync_objformat_new("test", "test", &error); fail_unless(format != NULL, NULL); fail_unless(error == NULL, NULL); OSyncData *data = osync_data_new(NULL, 0, format, &error); fail_unless(data != NULL, NULL); fail_unless(error == NULL, NULL); osync_objformat_unref(format); fail_unless(osync_data_has_data(data) == FALSE, NULL); osync_data_set_data(data, "test", 4); fail_unless(osync_data_has_data(data) == TRUE, NULL); char *buffer = NULL; unsigned int size = 0; osync_data_get_data(data, &buffer, &size); fail_unless(!strncmp(buffer, "test", 4), NULL); fail_unless(size == 4, NULL); osync_data_set_data(data, "test2", 5); osync_data_get_data(data, &buffer, &size); fail_unless(!strncmp(buffer, "test2", 5), NULL); fail_unless(size == 5, NULL); osync_data_unref(data); destroy_testbed(testbed); } END_TEST START_TEST (data_objformat) { char *testbed = setup_testbed(NULL); OSyncError *error = NULL; OSyncObjFormat *format = osync_objformat_new("test", "test", &error); fail_unless(format != NULL, NULL); fail_unless(error == NULL, NULL); OSyncData *data = osync_data_new(NULL, 0, format, &error); fail_unless(data != NULL, NULL); fail_unless(error == NULL, NULL); fail_unless(osync_data_get_objformat(data) == format, NULL); osync_data_set_objformat(data, format); osync_data_set_objformat(data, format); osync_data_set_objformat(data, format); osync_data_unref(data); osync_objformat_unref(format); destroy_testbed(testbed); } END_TEST START_TEST (data_objtype) { char *testbed = setup_testbed(NULL); OSyncError *error = NULL; OSyncObjFormat *format = osync_objformat_new("test", "objtype", &error); fail_unless(format != NULL, NULL); fail_unless(error == NULL, NULL); OSyncData *data = osync_data_new(NULL, 0, format, &error); fail_unless(data != NULL, NULL); fail_unless(error == NULL, NULL); /* Quote from osync_data.c //////////////////////////// * * If no object type is explicitly set, we will just * return the default objtype for this format OSyncObjFormat *format = data->objformat; if (format) return osync_objformat_get_objtype(format); * ////// End of Quote //////////////////////////////// // Obsolate! // fail_unless(osync_data_get_objtype(data) == NULL, NULL); */ osync_data_set_objtype(data, "objtype"); fail_unless(!strcmp(osync_data_get_objtype(data), "objtype"), NULL); osync_data_set_objtype(data, "objtype"); osync_data_set_objtype(data, "objtype2"); fail_unless(!strcmp(osync_data_get_objtype(data), "objtype2"), NULL); osync_data_unref(data); osync_objformat_unref(format); destroy_testbed(testbed); } END_TEST Suite *data_suite(void) { Suite *s = suite_create("Data"); // Suite *s2 = suite_create("Data"); create_case(s, "data_new", data_new); create_case(s, "data_new_with_data", data_new_with_data); create_case(s, "data_set_data", data_set_data); create_case(s, "data_set_data2", data_set_data2); create_case(s, "data_objformat", data_objformat); create_case(s, "data_objtype", data_objtype); /* OSyncData *osync_data_clone(OSyncData *data, OSyncError **error); */ return s; } int main(void) { int nf; Suite *s = data_suite(); SRunner *sr; sr = srunner_create(s); srunner_run_all(sr, CK_NORMAL); nf = srunner_ntests_failed(sr); srunner_free(sr); return (nf == 0) ? EXIT_SUCCESS : EXIT_FAILURE; }