[vlc-devel] [PATCH 1/2] Add vlc_UrlParse tests
Hugo Beauzée-Luyssen
hugo at beauzee.fr
Tue Mar 10 15:45:03 CET 2015
---
src/test/url.c | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/src/test/url.c b/src/test/url.c
index c199271..b976cb8 100644
--- a/src/test/url.c
+++ b/src/test/url.c
@@ -87,6 +87,26 @@ static inline void test_current_directory_path (const char *in, const char *cwd,
test (make_URI_def, in, expected_result);
}
+static void test_url_parse(const char* in, const char* protocol, const char* user,
+ const char* pass, const char* host, unsigned i_port,
+ const char* path, const char* option )
+{
+#define CHECK( a, b ) assert(((a == NULL) && (b == NULL)) || !strcmp((a), (b)))
+ vlc_url_t url;
+ vlc_UrlParse( &url, in, '?' );
+ CHECK( url.psz_protocol, protocol );
+ CHECK( url.psz_username, user );
+ CHECK( url.psz_password, pass );
+ CHECK( url.psz_host, host );
+ CHECK( url.psz_path, path );
+ assert( url.i_port == i_port );
+ CHECK( url.psz_option, option );
+
+ vlc_UrlClean( &url );
+
+#undef CHECK
+}
+
int main (void)
{
int val;
@@ -156,5 +176,11 @@ int main (void)
test ("fd://12345", "/dev/fd/12345");
#undef test
+ test_url_parse("http://test.com", "http", NULL, NULL, "test.com", 0, NULL, NULL);
+ test_url_parse("http://test.com/", "http", NULL, NULL, "test.com", 0, "/", NULL);
+ test_url_parse("protocol://john:doe@1.2.3.4:567", "protocol", "john", "doe", "1.2.3.4", 567, NULL, NULL);
+ test_url_parse("http://a.b/?opt=val", "http", NULL, NULL, "a.b", 0, "/", "opt=val");
+ test_url_parse("p://u:p@host:123/a/b/c?o=v", "p", "u", "p", "host", 123, "/a/b/c", "o=v");
+
return 0;
}
--
2.1.0
More information about the vlc-devel
mailing list