mirror of
https://github.com/arsenetar/dupeguru.git
synced 2026-01-22 06:37:17 +00:00
[#140 state:fixed] Fixed a crash on showing details panel in PE right after a mark-based removal (selection wasn't refreshed).
This commit is contained in:
@@ -390,6 +390,16 @@ class TestCaseDupeGuruWithResults:
|
||||
add_fake_files_to_directories(app.directories, self.objects) # We want the scan to at least start
|
||||
app.start_scanning() # will be cancelled immediately
|
||||
eq_(len(self.rtable), 0)
|
||||
|
||||
def test_selected_dupes_after_removal(self, do_setup):
|
||||
# Purge the app's `selected_dupes` attribute when removing dupes, or else it might cause a
|
||||
# crash later with None refs.
|
||||
app = self.app
|
||||
app.results.mark_all()
|
||||
self.rtable.select([0, 1, 2, 3, 4])
|
||||
app.remove_marked()
|
||||
eq_(len(self.rtable), 0)
|
||||
eq_(app.selected_dupes, [])
|
||||
|
||||
class TestCaseDupeGuru_renameSelected:
|
||||
def pytest_funcarg__do_setup(self, request):
|
||||
|
||||
@@ -231,6 +231,15 @@ class TestCaseResultsWithSomeGroups:
|
||||
self.results.perform_on_marked(lambda x:None, True)
|
||||
assert not self.results.is_modified
|
||||
|
||||
def test_group_of_duplicate_after_removal(self):
|
||||
# removing a duplicate also removes it from the dupe:group map.
|
||||
dupe = self.results.groups[1].dupes[0]
|
||||
ref = self.results.groups[1].ref
|
||||
self.results.remove_duplicates([dupe])
|
||||
assert self.results.get_group_of_duplicate(dupe) is None
|
||||
# also remove group ref
|
||||
assert self.results.get_group_of_duplicate(ref) is None
|
||||
|
||||
|
||||
class TestCaseResultsWithSavedResults:
|
||||
def setup_method(self, method):
|
||||
|
||||
Reference in New Issue
Block a user