class TPlaylistMenu(TestCase): SONG = AudioFile({ "title": "two", "artist": "mu", "~filename": dummy_path(u"/dev/zero") }) SONGS = [ AudioFile({ "title": "one", "artist": "piman", "~filename": dummy_path(u"/dev/null") }), SONG, ] def setUp(self): # Testing locally is VERY dangerous without this... self.assertTrue(_TEMP_DIR in PLAYLISTS or os.name == "nt", msg="Failing, don't want to delete %s" % PLAYLISTS) try: os.mkdir(PLAYLISTS) except EnvironmentError: pass quodlibet.config.init() self.lib = FileLibrary() self.lib.librarian = SongLibrarian() for af in self.SONGS: af.sanitize() self.lib.add(self.SONGS) self.added = [] def tearDown(self): self.lib.destroy() self.lib.librarian.destroy() quodlibet.config.quit() def _on_new(self, _, playlist): self.added.append(playlist) def test__on_new_playlist_activate(self): main = qltk.MenuItem('Menu') menu = StubbedPlaylistMenu(self.SONGS, []) menu.connect('new', self._on_new) main.set_submenu(menu) menu._on_new_playlist_activate(main, self.SONGS) self.failUnless(self.added, msg="No playlists signalled") self.failUnlessEqual(self.added[0].songs, self.SONGS) self.added[0].delete()
class TPlaylistMenu(TestCase): SONG = AudioFile({ "title": "two", "artist": "mu", "~filename": dummy_path(u"/dev/zero")}) SONGS = [ AudioFile({ "title": "one", "artist": "piman", "~filename": dummy_path(u"/dev/null")}), SONG, ] def setUp(self): # Testing locally is VERY dangerous without this... self.assertTrue(_TEMP_DIR in _DEFAULT_PLAYLIST_DIR or os.name == "nt", msg="Failing, don't want to delete %s" % _DEFAULT_PLAYLIST_DIR) try: os.mkdir(_DEFAULT_PLAYLIST_DIR) except EnvironmentError: pass quodlibet.config.init() self.lib = FileLibrary() self.lib.librarian = SongLibrarian() for af in self.SONGS: af.sanitize() self.lib.add(self.SONGS) def tearDown(self): self.lib.destroy() self.lib.librarian.destroy() quodlibet.config.quit() def test__on_new_playlist_activate(self): main = qltk.MenuItem('Menu') menu = StubbedPlaylistMenu(self.SONGS, PlaylistLibrary(SongFileLibrary())) main.set_submenu(menu) # Run it (with stubbed dialog) pl = menu._on_new_playlist_activate(main, self.SONGS) assert pl, "No playlists added" assert pl.name == FIXED_NAME, "Wrong name used" assert pl.songs == self.SONGS