File: parseurltest.py

package info (click to toggle)
miro 1.2.3-2
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 60,356 kB
  • ctags: 15,099
  • sloc: cpp: 58,491; python: 40,363; ansic: 796; xml: 265; sh: 197; makefile: 167
file content (27 lines) | stat: -rw-r--r-- 1,241 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from miro.test.framework import DemocracyTestCase
from miro.download_utils import parseURL

class TestParseURL(DemocracyTestCase):
    def doCheck(self, url, scheme, host, port, path):
        result = parseURL(url)
        self.assertEquals(result[0], scheme)
        self.assertEquals(result[1], host)
        self.assertEquals(result[2], port)
        self.assertEquals(result[3], path)

    def testFileUrls(self):
        self.doCheck('file:///abc', 'file', '', None, '/abc')
        self.doCheck('file://abc', 'file', '', None, '/abc')
        self.doCheck('file:///C:\\Program%20Files', 'file', '', None, 
                'C:/Program%20Files')
        self.doCheck('file:///C:/Program%20Files', 'file', '', None, 
                'C:/Program%20Files')
        self.doCheck('file://C:/abc', 'file', '', None, 'C:/abc')
        self.doCheck('file://C|/abc', 'file', '', None, 'C:/abc')
        self.doCheck('file://abc', 'file', '', None, '/abc')

    def testHTTPUrls(self):
        self.doCheck('http://foo.com/index.html?a=3', 'http', 'foo.com', 80,
                '/index.html?a=3')
        self.doCheck('http://foo.com:123:123/', 'http', 'foo.com', 123, '/')
        self.doCheck('https://foo.com/', 'https', 'foo.com', 443, '/')