deluge/tests/test_torrentview.py

71 lines
3.4 KiB
Python
Raw Normal View History

import gobject
from twisted.trial import unittest
from deluge.ui.gtkui.torrentview import TorrentView
from deluge.ui.gtkui.mainwindow import MainWindow
from deluge.ui.gtkui.torrentdetails import TorrentDetails
from deluge.ui.gtkui.menubar import MenuBar
class TorrentviewTestCase(unittest.TestCase):
def setUp(self): # NOQA
pass
def tearDown(self): # NOQA
pass
def test_torrentview_columns(self):
self.mainwindow = MainWindow()
self.torrentview = TorrentView()
self.torrentdetails = TorrentDetails()
self.menubar = MenuBar()
default_column_index = ['filter', 'torrent_id', 'dirty', '#', 'Name', 'Size', 'Downloaded', 'Uploaded', 'Progress', 'Seeders', 'Peers', 'Seeders/Peers', 'Down Speed', 'Up Speed', 'Down Limit', 'Up Limit', 'ETA', 'Ratio', 'Avail', 'Added', 'Tracker', 'Save Path']
default_liststore_columns = [bool, str, bool, int, str, str, gobject.TYPE_UINT64, gobject.TYPE_UINT64, gobject.TYPE_UINT64, float, str, int, int, int, int, float, float, float, float, float, int, float, float, float, str, str, str]
self.assertEquals(self.torrentview.column_index, default_column_index)
self.assertEquals(self.torrentview.liststore_columns, default_liststore_columns)
self.assertEquals(self.torrentview.columns["Save Path"].column_indices, [26])
# Add a text column
test_col = "Test column"
self.torrentview.add_text_column(test_col, status_field=["label"])
self.assertEquals(len(self.torrentview.liststore_columns), 28)
self.assertEquals(len(self.torrentview.column_index), 23)
self.assertEquals(self.torrentview.column_index[-1], test_col)
self.assertEquals(self.torrentview.columns[test_col].column_indices, [27])
# Add a second text column
test_col2 = "Test column2"
self.torrentview.add_text_column(test_col2, status_field=["label2"])
self.assertEquals(len(self.torrentview.liststore_columns), 29)
self.assertEquals(len(self.torrentview.column_index), 24)
self.assertEquals(self.torrentview.column_index[-1], test_col2)
self.assertEquals(self.torrentview.columns[test_col2].column_indices, [28])
# Remove column
self.torrentview.remove_column(test_col)
self.assertEquals(len(self.torrentview.liststore_columns), 28)
self.assertEquals(len(self.torrentview.column_index), 23)
self.assertEquals(self.torrentview.column_index[-1], test_col2)
self.assertEquals(self.torrentview.columns[test_col2].column_indices, [27])
# Add a column with multiple column types
test_col3 = "Test column3"
self.torrentview.add_progress_column(test_col3, status_field=["progress", "label3"], col_types=[float, str])
self.assertEquals(len(self.torrentview.liststore_columns), 30)
self.assertEquals(len(self.torrentview.column_index), 24)
self.assertEquals(self.torrentview.column_index[-1], test_col3)
self.assertEquals(self.torrentview.columns[test_col3].column_indices, [28, 29])
# Remove multiple column-types column
self.torrentview.remove_column(test_col3)
self.assertEquals(len(self.torrentview.liststore_columns), 28)
self.assertEquals(len(self.torrentview.column_index), 23)
self.assertEquals(self.torrentview.column_index[-1], test_col2)
self.assertEquals(self.torrentview.columns[test_col2].column_indices, [27])