|
@@ -207,6 +207,26 @@ static void test_base64_encode(void) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+static void test_mg_get_var(void) {
|
|
|
+ static const char *post[] = {"a=1&&b=2&d&=&c=3%20&e=", NULL};
|
|
|
+ char buf[20];
|
|
|
+
|
|
|
+ ASSERT(mg_get_var(post[0], strlen(post[0]), "a", buf, sizeof(buf)) == 1);
|
|
|
+ ASSERT(buf[0] == '1' && buf[1] == '\0');
|
|
|
+ ASSERT(mg_get_var(post[0], strlen(post[0]), "b", buf, sizeof(buf)) == 1);
|
|
|
+ ASSERT(buf[0] == '2' && buf[1] == '\0');
|
|
|
+ ASSERT(mg_get_var(post[0], strlen(post[0]), "c", buf, sizeof(buf)) == 2);
|
|
|
+ ASSERT(buf[0] == '3' && buf[1] == ' ' && buf[2] == '\0');
|
|
|
+ ASSERT(mg_get_var(post[0], strlen(post[0]), "e", buf, sizeof(buf)) == 0);
|
|
|
+ ASSERT(buf[0] == '\0');
|
|
|
+
|
|
|
+ ASSERT(mg_get_var(post[0], strlen(post[0]), "d", buf, sizeof(buf)) == -1);
|
|
|
+ ASSERT(mg_get_var(post[0], strlen(post[0]), "c", buf, 2) == -1);
|
|
|
+
|
|
|
+ ASSERT(mg_get_var(post[0], strlen(post[0]), "x", NULL, 10) == -2);
|
|
|
+ ASSERT(mg_get_var(post[0], strlen(post[0]), "x", buf, 0) == -2);
|
|
|
+}
|
|
|
+
|
|
|
int main(void) {
|
|
|
test_base64_encode();
|
|
|
test_match_prefix();
|
|
@@ -214,5 +234,6 @@ int main(void) {
|
|
|
test_should_keep_alive();
|
|
|
test_parse_http_request();
|
|
|
test_mg_fetch();
|
|
|
+ test_mg_get_var();
|
|
|
return 0;
|
|
|
}
|