diff --git a/send2trash/win/legacy.py b/send2trash/win/legacy.py index 5bb3d69..56a4b36 100644 --- a/send2trash/win/legacy.py +++ b/send2trash/win/legacy.py @@ -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 diff --git a/send2trash/win/modern.py b/send2trash/win/modern.py index c61de29..7927a89 100644 --- a/send2trash/win/modern.py +++ b/send2trash/win/modern.py @@ -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 diff --git a/tests/test_plat_win.py b/tests/test_plat_win.py index 87ebb1a..96492f4 100644 --- a/tests/test_plat_win.py +++ b/tests/test_plat_win.py @@ -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}"