diff options
Diffstat (limited to 'base/task_runner_util_unittest.cc')
-rw-r--r-- | base/task_runner_util_unittest.cc | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/base/task_runner_util_unittest.cc b/base/task_runner_util_unittest.cc new file mode 100644 index 0000000..4c58826 --- /dev/null +++ b/base/task_runner_util_unittest.cc @@ -0,0 +1,40 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "base/task_runner_util.h" + +#include "base/bind.h" +#include "base/message_loop.h" +#include "testing/gtest/include/gtest/gtest.h" + +namespace base { + +namespace { + +int ReturnFourtyTwo() { + return 42; +} + +void StoreValue(int* destination, int value) { + *destination = value; +} + +} // namespace + +TEST(TaskRunnerHelpersTest, PostAndReplyWithStatus) { + MessageLoop message_loop; + int result = 0; + + PostTaskAndReplyWithResult( + message_loop.message_loop_proxy(), + FROM_HERE, + Bind(&ReturnFourtyTwo), + Bind(&StoreValue, &result)); + + message_loop.RunAllPending(); + + EXPECT_EQ(42, result); +} + +} // namespace base |