| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/message_loop/message_loop_test.h" | 5 #include "base/message_loop/message_loop_test.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/memory/ref_counted.h" | 8 #include "base/memory/ref_counted.h" |
| 9 #include "base/run_loop.h" | 9 #include "base/run_loop.h" |
| 10 #include "base/synchronization/waitable_event.h" | 10 #include "base/synchronization/waitable_event.h" |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 97 &Foo::Test1ConstRef, foo.get(), a)); | 97 &Foo::Test1ConstRef, foo.get(), a)); |
| 98 MessageLoop::current()->PostTask(FROM_HERE, Bind( | 98 MessageLoop::current()->PostTask(FROM_HERE, Bind( |
| 99 &Foo::Test1Ptr, foo.get(), &b)); | 99 &Foo::Test1Ptr, foo.get(), &b)); |
| 100 MessageLoop::current()->PostTask(FROM_HERE, Bind( | 100 MessageLoop::current()->PostTask(FROM_HERE, Bind( |
| 101 &Foo::Test1Int, foo.get(), 100)); | 101 &Foo::Test1Int, foo.get(), 100)); |
| 102 MessageLoop::current()->PostTask(FROM_HERE, Bind( | 102 MessageLoop::current()->PostTask(FROM_HERE, Bind( |
| 103 &Foo::Test2Ptr, foo.get(), &a, &c)); | 103 &Foo::Test2Ptr, foo.get(), &a, &c)); |
| 104 MessageLoop::current()->PostTask(FROM_HERE, Bind( | 104 MessageLoop::current()->PostTask(FROM_HERE, Bind( |
| 105 &Foo::Test2Mixed, foo.get(), a, &d)); | 105 &Foo::Test2Mixed, foo.get(), a, &d)); |
| 106 // After all tests, post a message that will shut down the message loop | 106 // After all tests, post a message that will shut down the message loop |
| 107 MessageLoop::current()->PostTask(FROM_HERE, Bind( | 107 MessageLoop::current()->PostTask( |
| 108 &MessageLoop::Quit, Unretained(MessageLoop::current()))); | 108 FROM_HERE, |
| 109 Bind(&MessageLoop::QuitWhenIdle, Unretained(MessageLoop::current()))); |
| 109 | 110 |
| 110 // Now kick things off | 111 // Now kick things off |
| 111 MessageLoop::current()->Run(); | 112 MessageLoop::current()->Run(); |
| 112 | 113 |
| 113 EXPECT_EQ(foo->test_count(), 105); | 114 EXPECT_EQ(foo->test_count(), 105); |
| 114 EXPECT_EQ(foo->result(), "abacad"); | 115 EXPECT_EQ(foo->result(), "abacad"); |
| 115 } | 116 } |
| 116 | 117 |
| 117 void RunTest_PostDelayedTask_Basic(MessagePumpFactory factory) { | 118 void RunTest_PostDelayedTask_Basic(MessagePumpFactory factory) { |
| 118 scoped_ptr<MessagePump> pump(factory()); | 119 scoped_ptr<MessagePump> pump(factory()); |
| (...skipping 886 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1005 void RunTest_RecursivePosts(MessagePumpFactory factory) { | 1006 void RunTest_RecursivePosts(MessagePumpFactory factory) { |
| 1006 const int kNumTimes = 1 << 17; | 1007 const int kNumTimes = 1 << 17; |
| 1007 scoped_ptr<MessagePump> pump(factory()); | 1008 scoped_ptr<MessagePump> pump(factory()); |
| 1008 MessageLoop loop(pump.Pass()); | 1009 MessageLoop loop(pump.Pass()); |
| 1009 loop.PostTask(FROM_HERE, Bind(&PostNTasksThenQuit, kNumTimes)); | 1010 loop.PostTask(FROM_HERE, Bind(&PostNTasksThenQuit, kNumTimes)); |
| 1010 loop.Run(); | 1011 loop.Run(); |
| 1011 } | 1012 } |
| 1012 | 1013 |
| 1013 } // namespace test | 1014 } // namespace test |
| 1014 } // namespace base | 1015 } // namespace base |
| OLD | NEW |