X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Ftest%2Furl.c;h=a097aca0277beb8f711330a7bfd582bf2ceb2bf2;hb=07be8bb586c268720eb4deec0509f473a4d64b51;hp=fa5299d4ac3e4c4dea1a5ee23851e9d7252e9686;hpb=2be9be270037b619f3be91b14770cec7a76d96a8;p=vlc diff --git a/src/test/url.c b/src/test/url.c index fa5299d4ac..a097aca027 100644 --- a/src/test/url.c +++ b/src/test/url.c @@ -19,27 +19,47 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. *****************************************************************************/ -#include +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include #include "vlc_url.h" +#include "vlc_strings.h" #include #include -void test_decode (const char *in, const char *out) +typedef char * (*conv_t) (const char *); + +static void test (conv_t f, const char *in, const char *out) { char *res; printf ("\"%s\" -> \"%s\" ?\n", in, out); - res = decode_URI_duplicate (in); + res = f (in); if (res == NULL) exit (1); if (strcmp (res, out)) + { + printf (" ERROR: got \"%s\"\n", res); exit (2); + } free (res); } +static inline void test_decode (const char *in, const char *out) +{ + test (decode_URI_duplicate, in, out); +} + +static inline void test_b64 (const char *in, const char *out) +{ + test (vlc_b64_encode, in, out); +} + int main (void) { (void)setvbuf (stdout, NULL, _IONBF, 0); @@ -64,5 +84,14 @@ int main (void) test_decode ("T%E9l%E9vision", "T?l?vision"); test_decode ("%C1%94%C3%a9l%c3%A9vision", "??élévision"); /* overlong */ + /* Base 64 tests */ + test_b64 ("", ""); + test_b64 ("f", "Zg=="); + test_b64 ("fo", "Zm8="); + test_b64 ("foo", "Zm9v"); + test_b64 ("foob", "Zm9vYg=="); + test_b64 ("fooba", "Zm9vYmE="); + test_b64 ("foobar", "Zm9vYmFy"); + return 0; }