From ba7e6494c6e1e81fba0b8fe3e7a4f05631152ac1 Mon Sep 17 00:00:00 2001 From: Virgil Dupras Date: Sat, 9 Nov 2013 16:20:33 -0500 Subject: [PATCH] Fixed crash on Dupe Count sorting with Delta + Dupes Only Fixes #238 --- core/app.py | 4 ++-- core/tests/app_test.py | 13 +++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/core/app.py b/core/app.py index 70833e31..4229d860 100644 --- a/core/app.py +++ b/core/app.py @@ -183,9 +183,9 @@ def _get_dupe_sort_key(self, dupe, get_group, key, delta): return self.results.is_marked(dupe) if key == 'percentage': m = get_group().get_match_of(dupe) - result = m.percentage + return m.percentage elif key == 'dupe_count': - result = 0 + return 0 else: result = cmp_value(dupe, key) if delta: diff --git a/core/tests/app_test.py b/core/tests/app_test.py index df989860..ee90ba15 100644 --- a/core/tests/app_test.py +++ b/core/tests/app_test.py @@ -399,6 +399,19 @@ def test_selected_dupes_after_removal(self, do_setup): app.remove_marked() eq_(len(self.rtable), 0) eq_(app.selected_dupes, []) + + def test_dont_crash_on_delta_powermarker_dupecount_sort(self, do_setup): + # Don't crash when sorting by dupe count or percentage while delta+powermarker are enabled. + # Ref #238 + app = self.app + objects = self.objects + self.rtable.delta_values = True + self.rtable.power_marker = True + self.rtable.sort('dupe_count', False) + # don't crash + self.rtable.sort('percentage', False) + # don't crash + class TestCaseDupeGuru_renameSelected: def pytest_funcarg__do_setup(self, request):