1cabdff1aSopenharmony_ciTesting ff_url_decompose:
2cabdff1aSopenharmony_ci
3cabdff1aSopenharmony_cihttp://user:pass@ffmpeg:8080/dir/file?query#fragment =>
4cabdff1aSopenharmony_ci  scheme: http:
5cabdff1aSopenharmony_ci  authority: //
6cabdff1aSopenharmony_ci  userinfo: user:pass@
7cabdff1aSopenharmony_ci  host: ffmpeg
8cabdff1aSopenharmony_ci  port: :8080
9cabdff1aSopenharmony_ci  path: /dir/file
10cabdff1aSopenharmony_ci  query: ?query
11cabdff1aSopenharmony_ci  fragment: #fragment
12cabdff1aSopenharmony_ci
13cabdff1aSopenharmony_cihttp://ffmpeg/dir/file =>
14cabdff1aSopenharmony_ci  scheme: http:
15cabdff1aSopenharmony_ci  authority: //
16cabdff1aSopenharmony_ci  host: ffmpeg
17cabdff1aSopenharmony_ci  path: /dir/file
18cabdff1aSopenharmony_ci
19cabdff1aSopenharmony_cifile:///dev/null =>
20cabdff1aSopenharmony_ci  scheme: file:
21cabdff1aSopenharmony_ci  authority: //
22cabdff1aSopenharmony_ci  path: /dev/null
23cabdff1aSopenharmony_ci
24cabdff1aSopenharmony_cifile:/dev/null =>
25cabdff1aSopenharmony_ci  scheme: file:
26cabdff1aSopenharmony_ci  path: /dev/null
27cabdff1aSopenharmony_ci
28cabdff1aSopenharmony_cihttp://[::1]/dev/null =>
29cabdff1aSopenharmony_ci  scheme: http:
30cabdff1aSopenharmony_ci  authority: //
31cabdff1aSopenharmony_ci  host: [::1]
32cabdff1aSopenharmony_ci  path: /dev/null
33cabdff1aSopenharmony_ci
34cabdff1aSopenharmony_cihttp://[::1]:8080/dev/null =>
35cabdff1aSopenharmony_ci  scheme: http:
36cabdff1aSopenharmony_ci  authority: //
37cabdff1aSopenharmony_ci  host: [::1]
38cabdff1aSopenharmony_ci  port: :8080
39cabdff1aSopenharmony_ci  path: /dev/null
40cabdff1aSopenharmony_ci
41cabdff1aSopenharmony_ci//ffmpeg/dev/null =>
42cabdff1aSopenharmony_ci  authority: //
43cabdff1aSopenharmony_ci  host: ffmpeg
44cabdff1aSopenharmony_ci  path: /dev/null
45cabdff1aSopenharmony_ci
46cabdff1aSopenharmony_citest?url=http://server/path =>
47cabdff1aSopenharmony_ci  path: test
48cabdff1aSopenharmony_ci  query: ?url=http://server/path
49cabdff1aSopenharmony_ci
50cabdff1aSopenharmony_cidummy.mp4#t=0:02:00,121.5 =>
51cabdff1aSopenharmony_ci  path: dummy.mp4
52cabdff1aSopenharmony_ci  fragment: #t=0:02:00,121.5
53cabdff1aSopenharmony_ci
54cabdff1aSopenharmony_ciTesting ff_make_absolute_url:
55cabdff1aSopenharmony_ci                                            (null) baz                  => baz
56cabdff1aSopenharmony_ci                                          /foo/bar baz                  => /foo/baz
57cabdff1aSopenharmony_ci                                          /foo/bar ../baz               => /foo/../baz
58cabdff1aSopenharmony_ci                                          /foo/bar /baz                 => /baz
59cabdff1aSopenharmony_ci                                          /foo/bar ../../../baz         => /foo/../../../baz
60cabdff1aSopenharmony_ci                                http://server/foo/ baz                  => http://server/foo/baz
61cabdff1aSopenharmony_ci                             http://server/foo/bar baz                  => http://server/foo/baz
62cabdff1aSopenharmony_ci                                http://server/foo/ ../baz               => http://server/baz
63cabdff1aSopenharmony_ci                         http://server/foo/bar/123 ../../baz            => http://server/baz
64cabdff1aSopenharmony_ci                         http://server/foo/bar/123 /baz                 => http://server/baz
65cabdff1aSopenharmony_ci                         http://server/foo/bar/123 https://other/url    => https://other/url
66cabdff1aSopenharmony_ci    http://server/foo/bar?param=value/with/slashes /baz                 => http://server/baz
67cabdff1aSopenharmony_ci            http://server/foo/bar?param&otherparam ?someparam           => http://server/foo/bar?someparam
68cabdff1aSopenharmony_ci                             http://server/foo/bar //other/url          => http://other/url
69cabdff1aSopenharmony_ci                             http://server/foo/bar ../../../../../other/url => http://server/other/url
70cabdff1aSopenharmony_ci                             http://server/foo/bar /../../../../../other/url => http://server/other/url
71cabdff1aSopenharmony_ci                             http://server/foo/bar /test/../../../../../other/url => http://server/other/url
72cabdff1aSopenharmony_ci                             http://server/foo/bar /test/../../test/../../../other/url => http://server/other/url
73cabdff1aSopenharmony_ci                             http://server/foo/bar file:../baz/qux      => file:../baz/qux
74cabdff1aSopenharmony_ci                           http://server/foo//bar/ ../../               => http://server/foo/
75cabdff1aSopenharmony_ci                                   file:../tmp/foo ../bar/              => file:../tmp/../bar/
76cabdff1aSopenharmony_ci                                   file:../tmp/foo file:../bar/         => file:../bar/
77cabdff1aSopenharmony_ci                             http://server/foo/bar ./                   => http://server/foo/
78cabdff1aSopenharmony_ci                             http://server/foo/bar .dotfile             => http://server/foo/.dotfile
79cabdff1aSopenharmony_ci                             http://server/foo/bar ..doubledotfile      => http://server/foo/..doubledotfile
80cabdff1aSopenharmony_ci                             http://server/foo/bar double..dotfile      => http://server/foo/double..dotfile
81cabdff1aSopenharmony_ci                             http://server/foo/bar doubledotfile..      => http://server/foo/doubledotfile..
82cabdff1aSopenharmony_ci                                             file1 file2                => file2
83cabdff1aSopenharmony_ci                                         dir/file1 file2                => dir/file2
84cabdff1aSopenharmony_ci                                         dir/file1 ../file2             => dir/../file2
85cabdff1aSopenharmony_ci                                         dir\file1 file2                => file2
86cabdff1aSopenharmony_ci                                         dir\file1 file2               DOS dir\file2
87cabdff1aSopenharmony_ci                                    \\srv\shr\file ..\..\dummy          => ..\..\dummy
88cabdff1aSopenharmony_ci                                    \\srv\shr\file ..\..\dummy         DOS \\srv\shr\..\..\dummy
89cabdff1aSopenharmony_ci                                    \\srv\shr\file dummy                => dummy
90cabdff1aSopenharmony_ci                                    \\srv\shr\file dummy               DOS \\srv\shr\dummy
91cabdff1aSopenharmony_ci                                    \\srv\shr\file \\srv2\shr2\file2    => \\srv2\shr2\file2
92cabdff1aSopenharmony_ci                                    \\srv\shr\file d:/file              => d:/file
93cabdff1aSopenharmony_ci                                          C:\dir\a ..\file              => C:..\file
94cabdff1aSopenharmony_ci                                          C:\dir\a ..\file             DOS C:\dir\..\file
95cabdff1aSopenharmony_ci                                          C:\dir\a \\srv\shr\file       => C:\\srv\shr\file
96cabdff1aSopenharmony_ci                                          C:\dir\a \\srv\shr\file      DOS \\srv\shr\file
97cabdff1aSopenharmony_ci                                          C:\dir\a d:\file              => d:\file
98cabdff1aSopenharmony_ci                                        http://a/b \\srv\shr\file       => http://a/\\srv\shr\file
99cabdff1aSopenharmony_ci                                        http://a/b //srv/shr/file       => http://srv/shr/file
100cabdff1aSopenharmony_ci                                        http://a/b d:\file              => d:\file
101cabdff1aSopenharmony_ci                                        http://a/b C:/file              => C:/file
102cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q g:h                  => g:h
103cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q g                    => http://a/b/c/g
104cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q ./g                  => http://a/b/c/g
105cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q g/                   => http://a/b/c/g/
106cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q /g                   => http://a/g
107cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q //g                  => http://g
108cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q ?y                   => http://a/b/c/d;p?y
109cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q g?y                  => http://a/b/c/g?y
110cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q #s                   => http://a/b/c/d;p?q#s
111cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q g#s                  => http://a/b/c/g#s
112cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q g?y#s                => http://a/b/c/g?y#s
113cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q ;x                   => http://a/b/c/;x
114cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q g;x                  => http://a/b/c/g;x
115cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q g;x?y#s              => http://a/b/c/g;x?y#s
116cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q                      => http://a/b/c/d;p?q
117cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q .                    => http://a/b/c/
118cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q ./                   => http://a/b/c/
119cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q ..                   => http://a/b/
120cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q ../                  => http://a/b/
121cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q ../g                 => http://a/b/g
122cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q ../..                => http://a/
123cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q ../../               => http://a/
124cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q ../../g              => http://a/g
125cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q ../../../g           => http://a/g
126cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q ../../../../g        => http://a/g
127cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q /./g                 => http://a/g
128cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q /../g                => http://a/g
129cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q g.                   => http://a/b/c/g.
130cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q .g                   => http://a/b/c/.g
131cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q g..                  => http://a/b/c/g..
132cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q ..g                  => http://a/b/c/..g
133cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q ./../g               => http://a/b/g
134cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q ./g/.                => http://a/b/c/g/
135cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q g/./h                => http://a/b/c/g/h
136cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q g/../h               => http://a/b/c/h
137cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q g;x=1/./y            => http://a/b/c/g;x=1/y
138cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q g;x=1/../y           => http://a/b/c/y
139cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q g?y/./x              => http://a/b/c/g?y/./x
140cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q g?y/../x             => http://a/b/c/g?y/../x
141cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q g#s/./x              => http://a/b/c/g#s/./x
142cabdff1aSopenharmony_ci                                http://a/b/c/d;p?q g#s/../x             => http://a/b/c/g#s/../x
143cabdff1aSopenharmony_ci
144cabdff1aSopenharmony_ciTesting av_url_split:
145cabdff1aSopenharmony_ci/foo/bar                                                     =>                                                    -1 /foo/bar
146cabdff1aSopenharmony_cihttp://server/foo/                                           => http                            server             -1 /foo/
147cabdff1aSopenharmony_cihttp://example.com/foo/bar                                   => http                            example.com        -1 /foo/bar
148cabdff1aSopenharmony_cihttp://user:pass@localhost:8080/foo/bar/123                  => http            user:pass       localhost        8080 /foo/bar/123
149cabdff1aSopenharmony_cihttp://server/foo/bar?param=value/with/slashes               => http                            server             -1 /foo/bar?param=value/with/slashes
150cabdff1aSopenharmony_cihttps://1l-lh.a.net/i/1LIVE_HDS@179577/master.m3u8           => https                           1l-lh.a.net        -1 /i/1LIVE_HDS@179577/master.m3u8
151cabdff1aSopenharmony_ciftp://u:p%2B%2F2@ftp.pbt.com/ExportHD.mpg                    => ftp             u:p%2B%2F2      ftp.pbt.com        -1 /ExportHD.mpg
152cabdff1aSopenharmony_cihttps://key.dns.com?key_id=2&model_id=12345&&access_key=     => https                           key.dns.com        -1 ?key_id=2&model_id=12345&&access_key=
153cabdff1aSopenharmony_cihttp://example.com#tag                                       => http                            example.com        -1 #tag
154