summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/thread/qfuture/tst_qfuture.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/corelib/thread/qfuture/tst_qfuture.cpp')
-rw-r--r--tests/auto/corelib/thread/qfuture/tst_qfuture.cpp17
1 files changed, 14 insertions, 3 deletions
diff --git a/tests/auto/corelib/thread/qfuture/tst_qfuture.cpp b/tests/auto/corelib/thread/qfuture/tst_qfuture.cpp
index ac7564f36a..71cfbd054b 100644
--- a/tests/auto/corelib/thread/qfuture/tst_qfuture.cpp
+++ b/tests/auto/corelib/thread/qfuture/tst_qfuture.cpp
@@ -2837,7 +2837,8 @@ void tst_QFuture::continuationsWithContext()
// .then()
{
- auto future = QtFuture::makeReadyFuture(0)
+ QPromise<int> promise;
+ auto future = promise.future()
.then([&](int val) {
if (QThread::currentThread() != tstThread)
return 0;
@@ -2854,12 +2855,16 @@ void tst_QFuture::continuationsWithContext()
return 0;
return val + 1;
});
+ promise.start();
+ promise.addResult(0);
+ promise.finish();
QCOMPARE(future.result(), 3);
}
// .onCanceled
{
- auto future = createCanceledFuture<int>()
+ QPromise<int> promise;
+ auto future = promise.future()
.onCanceled(context,
[&] {
if (QThread::currentThread() != &thread)
@@ -2871,13 +2876,17 @@ void tst_QFuture::continuationsWithContext()
return 0;
return val + 1;
});
+ promise.start();
+ promise.future().cancel();
+ promise.finish();
QCOMPARE(future.result(), 2);
}
#ifndef QT_NO_EXCEPTIONS
// .onFaled()
{
- auto future = QtFuture::makeReadyFuture()
+ QPromise<void> promise;
+ auto future = promise.future()
.then([&] {
if (QThread::currentThread() != tstThread)
return 0;
@@ -2894,6 +2903,8 @@ void tst_QFuture::continuationsWithContext()
return 0;
return val + 1;
});
+ promise.start();
+ promise.finish();
QCOMPARE(future.result(), 2);
}
#endif // QT_NO_EXCEPTIONS