add some more regress for the encodings

This commit is contained in:
Omar Polo 2022-07-04 09:36:55 +00:00
parent 475205fa0f
commit 617ae38546
1 changed files with 18 additions and 0 deletions

View File

@ -20,6 +20,19 @@
#include "../gmid.h"
#define ENCTEST(buf, len, raw, exp) \
if (encode_path(buf, len, raw) == -1) { \
fprintf(stderr, "%s:%d: failed to encode: %s\n", \
__FILE__, __LINE__, raw); \
exit(1); \
} \
if (strcmp(buf, exp) != 0) { \
fprintf(stderr, "%s:%d: error: " \
"unexpected encoding: got %s, want %s\n", \
__FILE__, __LINE__, buf, exp); \
exit(1); \
}
#define TEST(iri, fail, exp, descr) \
if (!run_test(iri, fail, exp)) { \
fprintf(stderr, "%s:%d: error: %s\n", \
@ -90,8 +103,13 @@ done:
int
main(void)
{
char buf[32];
struct iri empty = IRI("", "", "", "", "", "");
ENCTEST(buf, sizeof(buf), "hello world", "hello%20world");
ENCTEST(buf, sizeof(buf), "hello\nworld", "hello%0Aworld");
ENCTEST(buf, sizeof(buf), "hello\r\nworld", "hello%0D%0Aworld");
TEST("http://omarpolo.com",
PASS,
IRI("http", "omarpolo.com", "", "", "", ""),