fix(win): Prevent exception on empty list

Add check for when an empty list remains after preprocessing and do
not continue for both legacy and modern windows implementations.

Fix #71
This commit is contained in:
Andrew Senetar 2022-07-26 22:42:30 -05:00
parent be402728fb
commit 4b9bc4bc31
Signed by: arsenetar
GPG Key ID: C63300DCE48AB2F1
3 changed files with 19 additions and 0 deletions

View File

@ -6,6 +6,7 @@
from __future__ import unicode_literals
import os.path as op
from send2trash.compat import text_type
from send2trash.util import preprocess_paths
@ -142,6 +143,8 @@ def get_short_path_name(long_name):
def send2trash(paths):
paths = preprocess_paths(paths)
if not paths:
return
# convert data type
paths = [text_type(path, "mbcs") if not isinstance(path, text_type) else path for path in paths]
# convert to full paths

View File

@ -17,6 +17,8 @@ from send2trash.win.IFileOperationProgressSink import create_sink
def send2trash(paths):
paths = preprocess_paths(paths)
if not paths:
return
# convert data type
paths = [text_type(path, "mbcs") if not isinstance(path, text_type) else path for path in paths]
# convert to full paths

View File

@ -204,3 +204,17 @@ def test_trash_long_multifile_legacy(longfiles):
# )
# def test_trash_long_folder_legacy(self):
# self._trash_folder(s2t_legacy)
def test_trash_nothing_legacy():
try:
s2t_legacy([])
except Exception as ex:
assert False, f"Exception thrown when trashing nothing: {ex}"
def test_trash_nothing_modern():
try:
s2t_modern([])
except Exception as ex:
assert False, f"Exception thrown when trashing nothing: {ex}"