diff --git a/qutebrowser/utils/utils.py b/qutebrowser/utils/utils.py index da1ddf085..4554aef2e 100644 --- a/qutebrowser/utils/utils.py +++ b/qutebrowser/utils/utils.py @@ -510,11 +510,13 @@ def sanitize_filename(name, replacement='_'): def set_clipboard(data, selection=False): """Set the clipboard to some given data.""" + global fake_clipboard if selection and not supports_selection(): raise SelectionUnsupportedError if log_clipboard: what = 'primary selection' if selection else 'clipboard' log.misc.debug("Setting fake {}: {}".format(what, json.dumps(data))) + fake_clipboard = data else: mode = QClipboard.Selection if selection else QClipboard.Clipboard QApplication.clipboard().setText(data, mode=mode) diff --git a/tests/end2end/features/conftest.py b/tests/end2end/features/conftest.py index 4752e2393..d81c40b2a 100644 --- a/tests/end2end/features/conftest.py +++ b/tests/end2end/features/conftest.py @@ -599,7 +599,7 @@ def check_open_tabs(quteproc, request, tabs): r'contain "(?P.*)"')) def clipboard_contains(quteproc, server, what, content): expected = content.replace('(port)', str(server.port)) - expected = expected.replace('\\n', '\n') + expected = expected.replace('\\n', os.linesep) quteproc.wait_for(message='Setting fake {}: {}'.format( what, json.dumps(expected))) diff --git a/tests/unit/utils/test_utils.py b/tests/unit/utils/test_utils.py index df0eb9ecb..ef2b6c8d4 100644 --- a/tests/unit/utils/test_utils.py +++ b/tests/unit/utils/test_utils.py @@ -651,6 +651,7 @@ class TestGetSetClipboard: autospec=True) clipboard = m() clipboard.text.return_value = 'mocked clipboard text' + mocker.patch('qutebrowser.utils.utils.fake_clipboard', None) return clipboard def test_set(self, clipboard_mock, caplog):