2020-05-27 11:52:00 +00:00
|
|
|
# encoding: utf-8
|
|
|
|
import os
|
2021-03-02 06:26:29 +00:00
|
|
|
import sys
|
|
|
|
import pytest
|
2020-05-27 11:52:00 +00:00
|
|
|
from tempfile import NamedTemporaryFile
|
|
|
|
from os import path as op
|
|
|
|
|
|
|
|
from send2trash.__main__ import main as trash_main
|
|
|
|
|
2021-03-02 06:26:29 +00:00
|
|
|
# Only import HOMETRASH on supported platforms
|
|
|
|
if sys.platform != "win32":
|
|
|
|
from send2trash.plat_other import HOMETRASH
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture
|
|
|
|
def file():
|
|
|
|
file = NamedTemporaryFile(
|
|
|
|
dir=op.expanduser("~"), prefix="send2trash_test", delete=False
|
|
|
|
)
|
|
|
|
file.close()
|
2021-03-18 01:52:16 +00:00
|
|
|
# Verify file was actually created
|
|
|
|
assert op.exists(file.name) is True
|
2021-03-02 06:26:29 +00:00
|
|
|
yield file.name
|
|
|
|
# Cleanup trash files on supported platforms
|
|
|
|
if sys.platform != "win32":
|
|
|
|
name = op.basename(file.name)
|
|
|
|
# Remove trash files if they exist
|
|
|
|
if op.exists(op.join(HOMETRASH, "files", name)):
|
|
|
|
os.remove(op.join(HOMETRASH, "files", name))
|
|
|
|
os.remove(op.join(HOMETRASH, "info", name + ".trashinfo"))
|
|
|
|
if op.exists(file.name):
|
|
|
|
os.remove(file.name)
|
|
|
|
|
|
|
|
|
|
|
|
def test_trash(file):
|
|
|
|
trash_main(["-v", file])
|
|
|
|
assert op.exists(file) is False
|
|
|
|
|
|
|
|
|
|
|
|
def test_no_args(file):
|
|
|
|
pytest.raises(SystemExit, trash_main, [])
|
|
|
|
pytest.raises(SystemExit, trash_main, ["-v"])
|
|
|
|
assert op.exists(file) is True
|