void test_lagopus_str_escape_03(void) { lagopus_result_t ret = LAGOPUS_RESULT_ANY_FAILURES; char *str = NULL; char test_str[] = "hoge\"foo'bar"; char test_ret_str[] = "hoge\\\"foo\\\'bar"; ret = lagopus_str_escape(test_str, "\"'", NULL, &str); TEST_ASSERT_EQUAL_MESSAGE(LAGOPUS_RESULT_OK, ret, "lagopus_str_escap error."); TEST_STR(ret, str, test_ret_str); }
void test_lagopus_str_escape_02(void) { lagopus_result_t ret = LAGOPUS_RESULT_ANY_FAILURES; bool is_escaped = false; char *str = NULL; char test_str[] = "hogefoobar"; char test_ret_str[] = "hogefoobar"; ret = lagopus_str_escape(test_str, "\"'", &is_escaped, &str); TEST_ASSERT_EQUAL_MESSAGE(LAGOPUS_RESULT_OK, ret, "lagopus_str_escap error."); TEST_STR(ret, str, test_ret_str); TEST_ASSERT_EQUAL_MESSAGE(false, is_escaped, "is_escaped error."); }
gboolean test_case(gint id, gchar *url_str, gboolean unicode, gboolean invalid_escape, gboolean expected_valid, gchar *scheme, gchar *user, gchar *passwd, gchar *host, guint port, gchar *file, gchar *query, gchar *fragment) { HttpURL url; gchar *fail_reason = NULL; const gchar *error_reason = NULL; gboolean ok = TRUE, valid; http_init_url(&url); valid = http_parse_url(&url, unicode, invalid_escape, FALSE, url_str, &error_reason); if (ok && valid != expected_valid) { fail_reason = g_strdup_printf("Parse result different than expected: %s", !valid ? error_reason : "No error"); ok = FALSE; } if (valid) { TEST_STR(scheme); TEST_STR(user); TEST_STR(passwd); TEST_STR(host); if (ok && port && port != url.port) { fail_reason = g_strdup("Return and expected value for port mismatch"); ok = FALSE; } TEST_STR(file); TEST_STR(query); TEST_STR(fragment); } if (ok) { printf("test success, id=%d, url=%s\n", id, url_str); return TRUE; } else { printf("test failure, id=%d, url=%s, reason=%s\n", id, url_str, fail_reason); g_free(fail_reason); return FALSE; } }