1
from miro.test.framework import MiroTestCase
2
from miro.download_utils import parse_url
4
class TestParseURL(MiroTestCase):
5
def check(self, url, scheme, host, port, path):
6
result = parse_url(url)
7
self.assertEquals(result[0], scheme)
8
self.assertEquals(result[1], host)
9
self.assertEquals(result[2], port)
10
self.assertEquals(result[3], path)
12
def test_file_urls(self):
13
self.check('file:///abc', 'file', '', None, '/abc')
14
self.check('file://abc', 'file', '', None, '/abc')
15
self.check('file:///C:\\Program%20Files', 'file', '', None,
17
self.check('file:///C:/Program%20Files', 'file', '', None,
19
self.check('file://C:/abc', 'file', '', None, 'C:/abc')
20
self.check('file://C|/abc', 'file', '', None, 'C:/abc')
21
self.check('file://abc', 'file', '', None, '/abc')
23
def test_http_urls(self):
24
self.check('http://foo.com/index.html?a=3', 'http', 'foo.com', 80,
26
self.check('http://foo.com:123:123/', 'http', 'foo.com', 123, '/')
27
self.check('https://foo.com/', 'https', 'foo.com', 443, '/')