OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "sync/js/sync_js_controller.h" | 5 #include "sync/js/sync_js_controller.h" |
6 | 6 |
7 #include "base/message_loop.h" | 7 #include "base/message_loop.h" |
8 #include "base/values.h" | 8 #include "base/values.h" |
9 #include "sync/js/js_arg_list.h" | 9 #include "sync/js/js_arg_list.h" |
10 #include "sync/js/js_event_details.h" | 10 #include "sync/js/js_event_details.h" |
11 #include "sync/js/js_test_util.h" | 11 #include "sync/js/js_test_util.h" |
12 #include "testing/gmock/include/gmock/gmock.h" | 12 #include "testing/gmock/include/gmock/gmock.h" |
13 #include "testing/gtest/include/gtest/gtest.h" | 13 #include "testing/gtest/include/gtest/gtest.h" |
14 | 14 |
15 namespace syncer { | 15 namespace syncer { |
16 namespace { | 16 namespace { |
17 | 17 |
18 using ::testing::_; | 18 using ::testing::_; |
19 using ::testing::InSequence; | 19 using ::testing::InSequence; |
20 using ::testing::Mock; | 20 using ::testing::Mock; |
21 using ::testing::StrictMock; | 21 using ::testing::StrictMock; |
22 | 22 |
23 class SyncJsControllerTest : public testing::Test { | 23 class SyncJsControllerTest : public testing::Test { |
24 protected: | 24 protected: |
25 void PumpLoop() { | 25 void PumpLoop() { |
26 message_loop_.RunUntilIdle(); | 26 message_loop_.RunUntilIdle(); |
27 } | 27 } |
28 | 28 |
29 private: | 29 private: |
30 MessageLoop message_loop_; | 30 base::MessageLoop message_loop_; |
31 }; | 31 }; |
32 | 32 |
33 TEST_F(SyncJsControllerTest, Messages) { | 33 TEST_F(SyncJsControllerTest, Messages) { |
34 InSequence dummy; | 34 InSequence dummy; |
35 // |mock_backend| needs to outlive |sync_js_controller|. | 35 // |mock_backend| needs to outlive |sync_js_controller|. |
36 StrictMock<MockJsBackend> mock_backend; | 36 StrictMock<MockJsBackend> mock_backend; |
37 SyncJsController sync_js_controller; | 37 SyncJsController sync_js_controller; |
38 | 38 |
39 base::ListValue arg_list1, arg_list2; | 39 base::ListValue arg_list1, arg_list2; |
40 arg_list1.Append(new base::FundamentalValue(false)); | 40 arg_list1.Append(new base::FundamentalValue(false)); |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
117 sync_js_controller.HandleJsEvent("anotherevent", details2); | 117 sync_js_controller.HandleJsEvent("anotherevent", details2); |
118 sync_js_controller.RemoveJsEventHandler(&event_handler1); | 118 sync_js_controller.RemoveJsEventHandler(&event_handler1); |
119 sync_js_controller.RemoveJsEventHandler(&event_handler2); | 119 sync_js_controller.RemoveJsEventHandler(&event_handler2); |
120 sync_js_controller.HandleJsEvent("droppedevent", details2); | 120 sync_js_controller.HandleJsEvent("droppedevent", details2); |
121 | 121 |
122 PumpLoop(); | 122 PumpLoop(); |
123 } | 123 } |
124 | 124 |
125 } // namespace | 125 } // namespace |
126 } // namespace syncer | 126 } // namespace syncer |
OLD | NEW |