You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	avformat/tests/url: add av_url_split tests
Signed-off-by: Marton Balint <cus@passwd.hu>
This commit is contained in:
		| @@ -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%2F2@ftp.pbt.com/ExportHD.mpg"); | ||||
|     test2("https://key.dns.com?key_id=2&model_id=12345&&access_key="); | ||||
|  | ||||
|     return 0; | ||||
| } | ||||
|   | ||||
| @@ -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%2F2@ftp.pbt.com/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= | ||||
|   | ||||
		Reference in New Issue
	
	Block a user