diff options
author | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-10-28 17:12:58 +0200 |
---|---|---|
committer | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-11-05 11:45:38 +0200 |
commit | 31421f8448d0192d04b95e31a0aecde2675b5988 (patch) | |
tree | 6fa71a14f10728e49997d8581e00929bce59c414 /test/util | |
parent | d8b1b2bacf0dd9812d62077a825067441037791b (diff) | |
download | qtlocation-mapboxgl-31421f8448d0192d04b95e31a0aecde2675b5988.tar.gz |
[core] Add Scheduler::scheduleAndReplyValue() API
Diffstat (limited to 'test/util')
-rw-r--r-- | test/util/async_task.test.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/util/async_task.test.cpp b/test/util/async_task.test.cpp index 682926a17d..214e490fd8 100644 --- a/test/util/async_task.test.cpp +++ b/test/util/async_task.test.cpp @@ -151,3 +151,22 @@ TEST(AsyncTask, ThreadSafety) { // a valid result, although very unlikely (I hope). EXPECT_GT(count, 0u); } + +TEST(AsyncTask, scheduleAndReplyValue) { + RunLoop loop; + std::thread::id caller_id = std::this_thread::get_id(); + + auto runInBackground = [caller_id]() -> int { + EXPECT_NE(caller_id, std::this_thread::get_id()); + return 42; + }; + auto onResult = [caller_id, &loop](int res) { + EXPECT_EQ(caller_id, std::this_thread::get_id()); + EXPECT_EQ(42, res); + loop.stop(); + }; + + auto sheduler = Scheduler::GetBackground(); + sheduler->scheduleAndReplyValue(runInBackground, onResult); + loop.run(); +}
\ No newline at end of file |