1
0
mirror of https://github.com/arsenetar/dupeguru.git synced 2026-01-22 14:41:39 +00:00

Fixed unittests.

This commit is contained in:
Virgil Dupras
2011-11-27 16:49:12 -05:00
parent fc5a0d914b
commit 9226a4fb7c
4 changed files with 54 additions and 42 deletions

View File

@@ -9,15 +9,16 @@
from hscommon.testutil import TestApp as TestAppBase, eq_, with_app
from hscommon.path import Path
from hscommon.util import get_file_ext, format_size
from hscommon.gui.column import Column
from jobprogress.job import nulljob, JobCancelled
from .. import engine
from .. import prioritize
from ..engine import getwords
from ..app import DupeGuru as DupeGuruBase, Column, cmp_value
from ..app import DupeGuru as DupeGuruBase, cmp_value
from ..gui.details_panel import DetailsPanel
from ..gui.directory_tree import DirectoryTree
from ..gui.result_table import ResultTable
from ..gui.result_table import ResultTable as ResultTableBase
from ..gui.prioritize_dialog import PrioritizeDialog
class DupeGuruView:
@@ -36,18 +37,22 @@ class DupeGuruView:
pass
class DupeGuru(DupeGuruBase):
class ResultTable(ResultTableBase):
COLUMNS = [
Column('marked', ''),
Column('name', 'Filename'),
Column('folder_path', 'Directory'),
Column('size', 'Size (KB)'),
Column('extension', 'Kind'),
]
DELTA_COLUMNS = {'size', }
class DupeGuru(DupeGuruBase):
METADATA_TO_READ = ['size']
def __init__(self):
DupeGuruBase.__init__(self, DupeGuruView(), '/tmp')
self.result_table = ResultTable(self)
def _get_display_info(self, dupe, group, delta):
size = dupe.size
@@ -55,21 +60,21 @@ class DupeGuru(DupeGuruBase):
if m and delta:
r = group.ref
size -= r.size
return [
dupe.name,
str(dupe.folder_path),
format_size(size, 0, 1, False),
dupe.extension if hasattr(dupe, 'extension') else '---',
]
return {
'name': dupe.name,
'folder_path': str(dupe.folder_path),
'size': format_size(size, 0, 1, False),
'extension': dupe.extension if hasattr(dupe, 'extension') else '---',
}
def _get_dupe_sort_key(self, dupe, get_group, key, delta):
r = cmp_value(dupe, self.COLUMNS[key])
if delta and (key in self.DELTA_COLUMNS):
r -= cmp_value(get_group().ref, self.COLUMNS[key])
r = cmp_value(dupe, key)
if delta and (key in self.result_table.DELTA_COLUMNS):
r -= cmp_value(get_group().ref, key)
return r
def _get_group_sort_key(self, group, key):
return cmp_value(group.ref, self.COLUMNS[key])
return cmp_value(group.ref, key)
def _prioritization_categories(self):
return prioritize.all_categories()
@@ -120,14 +125,20 @@ def GetTestGroups():
class TestApp(TestAppBase):
def __init__(self):
def link_gui(gui):
gui.view = self.make_logger()
if hasattr(gui, 'columns'): # tables
gui.columns.view = self.make_logger()
return gui
TestAppBase.__init__(self)
make_gui = self.make_gui
self.app = DupeGuru()
# XXX After hscommon.testutil.TestApp has had its default parent changed to seomthing
# customizable (with adjustments in moneyguru) we can get rid of 'parent='
make_gui('rtable', ResultTable, parent=self.app)
make_gui('dtree', DirectoryTree, parent=self.app)
make_gui('dpanel', DetailsPanel, parent=self.app)
make_gui('pdialog', PrioritizeDialog, parent=self.app)
self.default_parent = self.app
self.rtable = link_gui(self.app.result_table)
make_gui('dtree', DirectoryTree)
make_gui('dpanel', DetailsPanel)
make_gui('pdialog', PrioritizeDialog)
for elem in [self.rtable, self.dtree, self.dpanel]:
elem.connect()