Signed-off-by: Marton Balint <[email protected]>
---
 libavformat/tests/url.c | 24 ++++++++++++++++++++++++
 tests/ref/fate/url      | 10 ++++++++++
 2 files changed, 34 insertions(+)

diff --git a/libavformat/tests/url.c b/libavformat/tests/url.c
index 11ed5bb0b7..d99876f02c 100644
--- a/libavformat/tests/url.c
+++ b/libavformat/tests/url.c
@@ -19,6 +19,7 @@
  */
 
 #include "libavformat/url.h"
+#include "libavformat/avformat.h"
 
 static void test(const char *base, const char *rel)
 {
@@ -36,6 +37,18 @@ static void test(const char *base, const char *rel)
     }
 }
 
+static void test2(const char *url)
+{
+    char proto[64];
+    char auth[256];
+    char host[256];
+    char path[256];
+    int port=-1;
+
+    av_url_split(proto, sizeof(proto), auth, sizeof(auth), host, sizeof(host), 
&port, path, sizeof(path), url);
+    printf("%-60s => %-15s %-15s %-15s %5d %s\n", url, proto, auth, host, 
port, path);
+}
+
 int main(void)
 {
     printf("Testing ff_make_absolute_url:\n");
@@ -52,5 +65,16 @@ int main(void)
     test("http://server/foo/bar?param=value/with/slashes";, "/baz");
     test("http://server/foo/bar?param&otherparam";, "?someparam");
     test("http://server/foo/bar";, "//other/url");
+
+    printf("\nTesting av_url_split:\n");
+    test2("/foo/bar");
+    test2("http://server/foo/";);
+    test2("http://example.com/foo/bar";);
+    test2("http://user:pass@localhost:8080/foo/bar/123";);
+    test2("http://server/foo/bar?param=value/with/slashes";);
+    test2("https://1l-lh.a.net/i/1LIVE_HDS@179577/master.m3u8";);
+    test2("ftp://u:p%2b%[email protected]/ExportHD.mpg";);
+    test2("https://key.dns.com?key_id=2&model_id=12345&&access_key=";);
+
     return 0;
 }
diff --git a/tests/ref/fate/url b/tests/ref/fate/url
index b5deba88ae..8212c1131b 100644
--- a/tests/ref/fate/url
+++ b/tests/ref/fate/url
@@ -12,3 +12,13 @@ Testing ff_make_absolute_url:
     http://server/foo/bar?param=value/with/slashes /baz                 => 
http://server/baz
             http://server/foo/bar?param&otherparam ?someparam           => 
http://server/foo/bar?someparam
                              http://server/foo/bar //other/url          => 
http://other/url
+
+Testing av_url_split:
+/foo/bar                                                     =>                
                                    -1 /foo/bar
+http://server/foo/                                           => http           
                 server             -1 /foo/
+http://example.com/foo/bar                                   => http           
                 example.com        -1 /foo/bar
+http://user:pass@localhost:8080/foo/bar/123                  => http           
 user:pass       localhost        8080 /foo/bar/123
+http://server/foo/bar?param=value/with/slashes               => http           
                 server             -1 /foo/bar?param=value/with/slashes
+https://1l-lh.a.net/i/1LIVE_HDS@179577/master.m3u8           => https          
                 1l-lh.a.net        -1 /i/1LIVE_HDS@179577/master.m3u8
+ftp://u:p%2b%[email protected]/ExportHD.mpg                    => ftp            
 u:p%2B%2F2      ftp.pbt.com        -1 /ExportHD.mpg
+https://key.dns.com?key_id=2&model_id=12345&&access_key=     => https          
                 key.dns.com        -1 ?key_id=2&model_id=12345&&access_key=
-- 
2.16.4

_______________________________________________
ffmpeg-devel mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".

Reply via email to