From 8549e2b01bf212c0facd441547eeed58aa4e7a81 Mon Sep 17 00:00:00 2001 From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?= Date: Tue, 11 Apr 2006 15:47:52 +0000 Subject: [PATCH] Additionnal unit test for decode_URI --- src/test/url.c | 55 ++++++++++++++++++++++++++++++++------------------ 1 file changed, 35 insertions(+), 20 deletions(-) diff --git a/src/test/url.c b/src/test/url.c index 61df8475a5..5bf33bad6d 100644 --- a/src/test/url.c +++ b/src/test/url.c @@ -22,29 +22,44 @@ #include #include "vlc_url.h" -#undef NDEBUG -#include +#include +#include + +void test_decode (const char *in, const char *out) +{ + char *res; + + printf ("\"%s\" -> \"%s\" ?\n", in, out); + res = decode_URI_duplicate (in); + if (res == NULL) + exit (1); + + if (strcmp (res, out)) + exit (2); + + free (res); +} int main (void) { - const char url1[] = "this_should_not_be_modified_1234"; - const char url2[] = "This+should+be+modified+1234!"; - const char url3[] = "This%20should%20be%20modified%201234!"; - - char *durl = decode_URI_duplicate (url1); - assert (durl != NULL); - assert (!strcmp (durl, url1)); - free (durl); - - durl = decode_URI_duplicate (url2); - assert (durl != NULL); - assert (!strcmp (durl, "This should be modified 1234!")); - free (durl); - - durl = decode_URI_duplicate (url3); - assert (durl != NULL); - assert (!strcmp (durl, "This should be modified 1234!")); - free (durl); + (void)setvbuf (stdout, NULL, _IONBF, 0); + test_decode ("this_should_not_be_modified_1234", + "this_should_not_be_modified_1234"); + + test_decode ("This+should+be+modified+1234!", + "This should be modified 1234!"); + + test_decode ("This%20should%20be%20modified%201234!", + "This should be modified 1234!"); + + /* tests with invalid input */ + test_decode ("%", "%"); + test_decode ("%2", "%2"); + test_decode ("%0000", ""); + + /* UTF-8 tests */ + test_decode ("T%C3%a9l%c3%A9vision", "Télévision"); + test_decode ("T%E9l%E9vision", "T?l?vision"); return 0; } -- 2.39.2