| Index: base/message_loop/message_loop_unittest.cc
|
| diff --git a/base/message_loop/message_loop_unittest.cc b/base/message_loop/message_loop_unittest.cc
|
| index ddde6bb170d937fb2a4f5376e193ff507d4f01a7..9c1701756882febefde91d667e3b38312da8cb11 100644
|
| --- a/base/message_loop/message_loop_unittest.cc
|
| +++ b/base/message_loop/message_loop_unittest.cc
|
| @@ -10,12 +10,12 @@
|
| #include "base/logging.h"
|
| #include "base/memory/ref_counted.h"
|
| #include "base/message_loop/message_loop.h"
|
| -#include "base/message_loop/message_loop_proxy_impl.h"
|
| #include "base/message_loop/message_loop_test.h"
|
| #include "base/pending_task.h"
|
| #include "base/posix/eintr_wrapper.h"
|
| #include "base/run_loop.h"
|
| #include "base/synchronization/waitable_event.h"
|
| +#include "base/test/test_simple_task_runner.h"
|
| #include "base/thread_task_runner_handle.h"
|
| #include "base/threading/platform_thread.h"
|
| #include "base/threading/thread.h"
|
| @@ -1012,4 +1012,26 @@ TEST(MessageLoopTest, AlwaysHaveUserMessageWhenNesting) {
|
| }
|
| #endif // defined(OS_WIN)
|
|
|
| +TEST(MessageLoopTest, SetTaskRunner) {
|
| + MessageLoop loop;
|
| + scoped_refptr<SingleThreadTaskRunner> new_runner(new TestSimpleTaskRunner());
|
| +
|
| + loop.SetTaskRunner(new_runner);
|
| + EXPECT_EQ(new_runner, loop.task_runner());
|
| + EXPECT_EQ(new_runner, ThreadTaskRunnerHandle::Get());
|
| +}
|
| +
|
| +TEST(MessageLoopTest, OriginalRunnerWorks) {
|
| + MessageLoop loop;
|
| + scoped_refptr<SingleThreadTaskRunner> new_runner(new TestSimpleTaskRunner());
|
| + scoped_refptr<SingleThreadTaskRunner> original_runner(loop.task_runner());
|
| + loop.SetTaskRunner(new_runner);
|
| +
|
| + scoped_refptr<Foo> foo(new Foo());
|
| + original_runner->PostTask(FROM_HERE,
|
| + Bind(&Foo::Test1ConstRef, foo.get(), "a"));
|
| + loop.RunUntilIdle();
|
| + EXPECT_EQ(1, foo->test_count());
|
| +}
|
| +
|
| } // namespace base
|
|
|