diff options
author | Florian Bruhin <me@the-compiler.org> | 2021-03-23 10:19:46 +0100 |
---|---|---|
committer | Florian Bruhin <me@the-compiler.org> | 2021-03-23 12:53:23 +0100 |
commit | 577a653d94d548ea0d203f067b6316a238112f87 (patch) | |
tree | 595305051a97efc4f24a24e9bb71a08f9e646052 /tests/helpers | |
parent | dd767cbcb7ad4cb72faa59fc8f28ba9a7dc72b99 (diff) | |
download | qutebrowser-577a653d94d548ea0d203f067b6316a238112f87.tar.gz qutebrowser-577a653d94d548ea0d203f067b6316a238112f87.zip |
tests: Base FakeProcess on a real QProcess
This way we can e.g. use the finished signal
Diffstat (limited to 'tests/helpers')
-rw-r--r-- | tests/helpers/stubs.py | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/tests/helpers/stubs.py b/tests/helpers/stubs.py index ffc8349b0..6998958b8 100644 --- a/tests/helpers/stubs.py +++ b/tests/helpers/stubs.py @@ -30,7 +30,7 @@ import builtins import importlib import types -from PyQt5.QtCore import pyqtSignal, QPoint, QProcess, QObject, QUrl +from PyQt5.QtCore import pyqtSignal, QPoint, QProcess, QObject, QUrl, QByteArray from PyQt5.QtGui import QIcon from PyQt5.QtNetwork import (QNetworkRequest, QAbstractNetworkCache, QNetworkCacheMetaData) @@ -193,13 +193,18 @@ class FakeNetworkReply: self.headers[key] = value -def fake_qprocess(): - """Factory for a QProcess mock which has the QProcess enum values.""" - m = mock.Mock(spec=QProcess) - for name in ['NormalExit', 'CrashExit', 'FailedToStart', 'Crashed', - 'Timedout', 'WriteError', 'ReadError', 'UnknownError']: - setattr(m, name, getattr(QProcess, name)) - return m +class FakeProcess(QProcess): + + def __init__(self, parent: QObject = None) -> None: + super().__init__(parent) + self.start = mock.Mock(spec=QProcess.start) + self.startDetached = mock.Mock(spec=QProcess.startDetached) + self.readAllStandardOutput = mock.Mock( + spec=QProcess.readAllStandardOutput, return_value=QByteArray(b'')) + self.readAllStandardError = mock.Mock( + spec=QProcess.readAllStandardError, return_value=QByteArray(b'')) + self.terminate = mock.Mock(spec=QProcess.terminate) + self.kill = mock.Mock(spec=QProcess.kill) class FakeWebTabScroller(browsertab.AbstractScroller): |