~ubuntu-branches/ubuntu/karmic/quodlibet/karmic

« back to all changes in this revision

Viewing changes to tests/test_util_uri.py

  • Committer: Bazaar Package Importer
  • Author(s): Luca Falavigna
  • Date: 2009-01-30 23:55:34 UTC
  • mfrom: (1.1.12 upstream)
  • Revision ID: james.westby@ubuntu.com-20090130235534-l4e72ulw0vqfo17w
Tags: 2.0-1ubuntu1
* Merge from Debian experimental (LP: #276856), remaining Ubuntu changes:
  + debian/patches/40-use-music-profile.patch:
    - Use the "Music and Movies" pipeline per default.
* Refresh the above patch for new upstream release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
from tests import TestCase, add
 
2
 
 
3
from quodlibet.util.uri import URI
 
4
 
 
5
class TURI(TestCase):
 
6
    def setUp(s):
 
7
        s.http_uri = URI("http://www.example.com/~piman;woo?bar=quux#whee")
 
8
        s.rfile_uri = URI("file://example.com/home/piman/crazy")
 
9
        s.file_uri = URI.frompath("/home/piman/cr!azy")
 
10
        s.extra_uri = URI("file:///////////home/piman")
 
11
 
 
12
    def test_type(s):
 
13
        s.failUnless(isinstance(s.http_uri, URI))
 
14
        s.failUnless(isinstance(s.http_uri, basestring))
 
15
 
 
16
    # bad constructor tests
 
17
    def test_empty(s):
 
18
        s.failUnlessRaises(ValueError, URI, "")
 
19
    def test_no_scheme(s):
 
20
        s.failUnlessRaises(ValueError, URI, "foobar/?quux")
 
21
    def test_no_loc_or_path(s):
 
22
        s.failUnlessRaises(ValueError, URI, "http://")
 
23
 
 
24
    # good constructor tests
 
25
    def test_scheme(s):
 
26
        s.failUnlessEqual(s.http_uri.scheme, "http")
 
27
    def test_netlocl(s):
 
28
        s.failUnlessEqual(s.http_uri.netloc, "www.example.com")
 
29
    def test_path(s):
 
30
        s.failUnlessEqual(s.http_uri.path, "/~piman")
 
31
    def test_params(s):
 
32
        s.failUnless(s.http_uri.params, "woo")
 
33
    def test_query(s):
 
34
        s.failUnlessEqual(s.http_uri.query, "bar=quux")
 
35
    def test_fragment(s):
 
36
        s.failUnlessEqual(s.http_uri.fragment, "whee")
 
37
 
 
38
    # unescaping
 
39
    def test_unescaped(s):
 
40
        s.failUnlessEqual(s.file_uri.unescaped, "file:///home/piman/cr!azy")
 
41
        s.failUnlessEqual(s.http_uri.unescaped, s.http_uri)
 
42
 
 
43
    # local file handling
 
44
    def test_frompath(s):
 
45
        s.failUnlessEqual(s.file_uri, "file:///home/piman/cr%21azy")
 
46
        s.failUnlessEqual(s.file_uri.filename, "/home/piman/cr!azy")
 
47
    def test_bad_files(s):
 
48
        s.failUnlessRaises(ValueError, lambda: s.http_uri.filename)
 
49
        s.failUnlessRaises(ValueError, lambda: s.http_uri.filename)
 
50
    def test_is_filename(s):
 
51
        s.failUnless(s.file_uri.is_filename)
 
52
        s.failIf(s.rfile_uri.is_filename)
 
53
        s.failIf(s.http_uri.is_filename)
 
54
 
 
55
    # test urlparse workaround
 
56
    def test_urlparse_workaround(s):
 
57
        s.failUnless(s.extra_uri.is_filename)
 
58
        s.failIf(s.extra_uri.netloc)
 
59
        s.failUnlessEqual(s.extra_uri.filename, "/home/piman")
 
60
 
 
61
add(TURI)