summaryrefslogtreecommitdiff
path: root/tests/helpers
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2021-03-23 10:19:46 +0100
committerFlorian Bruhin <me@the-compiler.org>2021-03-23 12:53:23 +0100
commit577a653d94d548ea0d203f067b6316a238112f87 (patch)
tree595305051a97efc4f24a24e9bb71a08f9e646052 /tests/helpers
parentdd767cbcb7ad4cb72faa59fc8f28ba9a7dc72b99 (diff)
downloadqutebrowser-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.py21
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):