docs: clarify manual clipboard dependencies

This commit is contained in:
thePR0M3TH3AN
2025-08-03 08:12:25 -04:00
parent 36061493ac
commit ccca399b09
11 changed files with 166 additions and 139 deletions

View File

@@ -60,7 +60,7 @@ def test_totp_command(monkeypatch, capsys):
monkeypatch.setattr(main, "initialize_app", lambda: None)
monkeypatch.setattr(main.signal, "signal", lambda *a, **k: None)
monkeypatch.setattr(
main, "copy_to_clipboard", lambda v, d: called.setdefault("val", v)
main, "copy_to_clipboard", lambda v, d: (called.setdefault("val", v), True)[1]
)
rc = main.main(["totp", "ex"])
assert rc == 0

View File

@@ -1,6 +1,7 @@
from pathlib import Path
import pyperclip
import threading
import shutil
import sys
@@ -66,3 +67,16 @@ def test_copy_to_clipboard_does_not_clear_if_changed(monkeypatch):
fake_copy("other")
callbacks["func"]()
assert clipboard["text"] == "other"
def test_copy_to_clipboard_missing_dependency(monkeypatch, capsys):
def fail_copy(*args, **kwargs):
raise pyperclip.PyperclipException("no copy")
monkeypatch.setattr(pyperclip, "copy", fail_copy)
monkeypatch.setattr(pyperclip, "paste", lambda: "")
monkeypatch.setattr(shutil, "which", lambda cmd: None)
copy_to_clipboard("secret", 1)
out = capsys.readouterr().out
assert "install xclip" in out.lower()

View File

@@ -140,7 +140,7 @@ def test_handle_add_password_secret_mode(monkeypatch, dummy_nostr_client, capsys
called = []
monkeypatch.setattr(
"seedpass.core.manager.copy_to_clipboard",
lambda text, delay: called.append((text, delay)),
lambda text, delay: (called.append((text, delay)), True)[1],
)
pm.handle_add_password()

View File

@@ -301,7 +301,7 @@ def test_show_entry_details_sensitive(monkeypatch, capsys, entry_type):
"seedpass.core.manager.confirm_action", lambda *a, **k: True
)
monkeypatch.setattr(
"seedpass.core.manager.copy_to_clipboard", lambda *a, **k: None
"seedpass.core.manager.copy_to_clipboard", lambda *a, **k: True
)
monkeypatch.setattr("seedpass.core.manager.timed_input", lambda *a, **k: "b")
monkeypatch.setattr("seedpass.core.manager.time.sleep", lambda *a, **k: None)

View File

@@ -46,7 +46,7 @@ def test_password_retrieve_secret_mode(monkeypatch, capsys):
called = []
monkeypatch.setattr(
"seedpass.core.manager.copy_to_clipboard",
lambda text, t: called.append((text, t)),
lambda text, t: (called.append((text, t)), True)[1],
)
pm.handle_retrieve_entry()
@@ -73,7 +73,7 @@ def test_totp_display_secret_mode(monkeypatch, capsys):
called = []
monkeypatch.setattr(
"seedpass.core.manager.copy_to_clipboard",
lambda text, t: called.append((text, t)),
lambda text, t: (called.append((text, t)), True)[1],
)
pm.handle_display_totp_codes()
@@ -95,7 +95,7 @@ def test_password_retrieve_no_secret_mode(monkeypatch, capsys):
called = []
monkeypatch.setattr(
"seedpass.core.manager.copy_to_clipboard",
lambda *a, **k: called.append((a, k)),
lambda *a, **k: (called.append((a, k)), True)[1],
)
pm.handle_retrieve_entry()
@@ -123,7 +123,7 @@ def test_totp_display_no_secret_mode(monkeypatch, capsys):
called = []
monkeypatch.setattr(
"seedpass.core.manager.copy_to_clipboard",
lambda *a, **k: called.append((a, k)),
lambda *a, **k: (called.append((a, k)), True)[1],
)
pm.handle_display_totp_codes()