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

« back to all changes in this revision

Viewing changes to tests/test_browsers_paned.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 import config
 
4
from quodlibet import widgets
 
5
 
 
6
from quodlibet.browsers.paned import PanedBrowser
 
7
from quodlibet.formats._audio import AudioFile
 
8
from quodlibet.library import SongLibrary
 
9
 
 
10
SONGS = [
 
11
    AudioFile({"title": "one", "artist": "piman", "~filename": "/dev/null"}),
 
12
    AudioFile({"title": "two", "artist": "mu", "~filename": "/dev/zero"}),
 
13
    AudioFile({"title": "three", "artist": "boris", "~filename": "/bin/ls"})
 
14
    ]
 
15
SONGS.sort()
 
16
 
 
17
class TPanedBrowser(TestCase):
 
18
    Bar = PanedBrowser
 
19
 
 
20
    def setUp(self):
 
21
        config.init()
 
22
        config.set("browsers", "panes", "artist")
 
23
        library = SongLibrary()
 
24
        PanedBrowser.init(library)
 
25
        for af in SONGS:
 
26
            af.sanitize()
 
27
        library.add(SONGS)
 
28
        self.bar = self.Bar(library, False)
 
29
 
 
30
    def test_can_filter(self):
 
31
        for key in ["foo", "title", "fake~key", "~woobar", "~#huh"]:
 
32
            self.failIf(self.bar.can_filter(key))
 
33
        self.failUnless(self.bar.can_filter("artist"))
 
34
 
 
35
    def test_dynamic(self):
 
36
        self.failUnless(self.bar.dynamic(SONGS[0]))
 
37
 
 
38
    def test_filter_value(self):
 
39
        self.expected = [SONGS[0]]
 
40
        self.bar.filter("artist", ["boris"])
 
41
 
 
42
    def test_filter_notvalue(self):
 
43
        self.expected = SONGS[1:3]
 
44
        self.bar.filter("artist", ["notvalue", "mu", "piman"])
 
45
 
 
46
    def tearDown(self):
 
47
        self.bar.destroy()
 
48
        config.quit()
 
49
add(TPanedBrowser)