void test_prefix_error(gpointer data) { const gchar *min = "ab"; int offset, limit; create_short_text_table(gcut_take_new_list_string("abra", "abracada", "abracadabra", "abubu", "あ", "ああ", "あああ", "い", NULL)); offset = gcut_data_get_int(data, "offset"); limit = gcut_data_get_int(data, "limit"); cursor = grn_table_cursor_open(context, table, min, strlen(min), NULL, 0, offset, limit, GRN_CURSOR_PREFIX); grn_test_assert_error(gcut_data_get_uint(data, "rc"), gcut_data_get_string(data, "message"), context); }
void test_nonexistent_table(void) { const gchar *command = "select nonexistent"; grn_ctx_send(context, command, strlen(command), 0); grn_test_assert_error(GRN_INVALID_ARGUMENT, "invalid table name: <nonexistent>", context); }
void test_url_path_normalize_invalid(gconstpointer data) { #define BUFFER_SIZE 1024 gchar buffer[BUFFER_SIZE]; const gchar *error_message, *input; error_message = gcut_data_get_string(data, "error-message"); input = gcut_data_get_string(data, "input"); grn_str_url_path_normalize(&context, input, strlen(input), buffer, BUFFER_SIZE); grn_test_assert_error(GRN_INVALID_ARGUMENT, error_message, &context); #undef BUFFER_SIZE }
void test_url_path_normalize_invalid(gconstpointer data) { #define BUFFER_SIZE 1024 gchar buffer[BUFFER_SIZE]; const gchar *error_message, *input; error_message = gcut_data_get_string(data, "error-message"); input = gcut_data_get_string(data, "input"); grn_str_url_path_normalize(&context, input, strlen(input), buffer, BUFFER_SIZE); /* NOTE: not in GRN_API_ENTER, rc is not set. */ grn_test_assert_error(GRN_SUCCESS, error_message, &context); #undef BUFFER_SIZE }
void test_create_with_invalid_name(gpointer data) { grn_obj *table; const gchar *table_name; table_name = gcut_data_get_string(data, "name"); table = grn_table_create(context, table_name, strlen(table_name), NULL, GRN_OBJ_TABLE_NO_KEY | GRN_OBJ_PERSISTENT, NULL, NULL); grn_test_assert_error( GRN_INVALID_ARGUMENT, cut_take_printf("[table][create] name can't start with '_' and " "contains only 0-9, A-Z, a-z, #, @, - or _: <%s>", table_name), context); }
void test_create_on_temporary_table(void) { grn_obj *table; grn_obj *column; const gchar *column_name = "count"; table = grn_table_create(context, NULL, 0, NULL, GRN_OBJ_TABLE_NO_KEY, NULL, NULL); grn_test_assert_context(context); column = grn_column_create(context, table, column_name, strlen(column_name), NULL, 0, get_object("Int32")); grn_test_assert_error(GRN_INVALID_ARGUMENT, "temporary table doesn't support column", context); }
void test_normalize_without_database(void) { grn_obj *string; const char *input = "Groonga"; int flags = 0; grn_obj_close(&context, database); database = NULL; GRN_CTX_SET_ENCODING(&context, GRN_ENC_UTF8); string = grn_string_open(&context, input, strlen(input), GRN_NORMALIZER_AUTO, flags); cut_assert_null(string); grn_test_assert_error(GRN_INVALID_ARGUMENT, "[string][open] " "NormalizerAuto normalizer isn't available", &context); }