vlc | branch: master | Filip Roséen <[email protected]> | Fri Oct 28 10:49:45 2016 +0200| [c45bbb818150ee5ec3b56ab73e4a31a0db0697a7] | committer: Thomas Guillem
test/url: make it easier to check invalid URLs The previous implementation, somewhat unconditionally, made assumptions about the internal state of the result of `vlc_UrlParse`, meaning that it was inherently difficult to check if invalid URLs was correctly rejected. These changes simply asserts that vlc_UrlParse failed if all of the arguments (used to verify the result) are NULL or 0. Signed-off-by: Thomas Guillem <[email protected]> > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=c45bbb818150ee5ec3b56ab73e4a31a0db0697a7 --- src/test/url.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/test/url.c b/src/test/url.c index ffb073c..04ce812 100644 --- a/src/test/url.c +++ b/src/test/url.c @@ -106,6 +106,15 @@ static void test_url_parse(const char* in, const char* protocol, const char* use vlc_url_t url; int ret = vlc_UrlParse(&url, in); + /* XXX: only checking that the port-part is parsed correctly, and + * equal to 0, is currently not supported due to the below. */ + if( !protocol && !user && !pass && !host && !i_port && !path && !option ) + { + vlc_UrlClean( &url ); + assert( ret == -1 ); + return; + } + CHECK( url.psz_protocol, protocol ); CHECK( url.psz_username, user ); CHECK( url.psz_password, pass ); @@ -300,10 +309,9 @@ int main (void) test_url_parse("//example.com/f?o=v", NULL, NULL, NULL, "example.com", 0, "/f", "o=v"); /* Invalid URIs */ - test_url_parse("p://G a r b a g e", "p", NULL, NULL, NULL, 0, NULL, NULL); - test_url_parse("p://h/G a r b a g e", "p", NULL, NULL, "h", 0, NULL, NULL); - test_url_parse("http://example.com:123xyz", "http", NULL, NULL, - "example.com", 123, NULL, NULL); + test_url_parse("p://G a r b a g e", NULL, NULL, NULL, NULL, 0, NULL, NULL); + test_url_parse("p://h/G a r b a g e", NULL, NULL, NULL, NULL, 0, NULL, NULL); + test_url_parse("http://example.com:123xyz", NULL, NULL, NULL, NULL, 0, NULL, NULL); /* Reference test cases for reference URI resolution */ static const char *rfc3986_cases[] = _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
