OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "chrome/browser/chromeos/network_state_notifier.h" | 5 #include "chrome/browser/chromeos/network_state_notifier.h" |
6 | 6 |
7 #include "chrome/browser/chromeos/cros/cros_in_process_browser_test.h" | 7 #include "chrome/browser/chromeos/cros/cros_in_process_browser_test.h" |
8 #include "chrome/browser/chromeos/cros/mock_network_library.h" | 8 #include "chrome/browser/chromeos/cros/mock_network_library.h" |
| 9 #include "chrome/common/chrome_notification_types.h" |
9 #include "chrome/test/ui_test_utils.h" | 10 #include "chrome/test/ui_test_utils.h" |
10 #include "content/browser/browser_thread.h" | 11 #include "content/browser/browser_thread.h" |
11 #include "content/common/notification_registrar.h" | 12 #include "content/common/notification_registrar.h" |
12 #include "content/common/notification_service.h" | 13 #include "content/common/notification_service.h" |
13 #include "testing/gmock/include/gmock/gmock.h" | 14 #include "testing/gmock/include/gmock/gmock.h" |
14 #include "testing/gtest/include/gtest/gtest.h" | 15 #include "testing/gtest/include/gtest/gtest.h" |
15 | 16 |
16 namespace chromeos { | 17 namespace chromeos { |
17 | 18 |
18 using ::testing::Return; | 19 using ::testing::Return; |
(...skipping 14 matching lines...) Expand all Loading... |
33 mock_network_library_ = cros_mock_->mock_network_library(); | 34 mock_network_library_ = cros_mock_->mock_network_library(); |
34 ASSERT_TRUE(mock_network_library_); | 35 ASSERT_TRUE(mock_network_library_); |
35 EXPECT_CALL(*mock_network_library_, Connected()) | 36 EXPECT_CALL(*mock_network_library_, Connected()) |
36 .Times(1) | 37 .Times(1) |
37 .WillRepeatedly((Return(true))) | 38 .WillRepeatedly((Return(true))) |
38 .RetiresOnSaturation(); | 39 .RetiresOnSaturation(); |
39 NetworkStateNotifier::GetInstance(); | 40 NetworkStateNotifier::GetInstance(); |
40 } | 41 } |
41 | 42 |
42 // NotificationObserver overrides. | 43 // NotificationObserver overrides. |
43 virtual void Observe(NotificationType type, | 44 virtual void Observe(int type, |
44 const NotificationSource& source, | 45 const NotificationSource& source, |
45 const NotificationDetails& details) { | 46 const NotificationDetails& details) { |
46 EXPECT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 47 EXPECT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
47 EXPECT_TRUE(NotificationType::NETWORK_STATE_CHANGED == type); | 48 EXPECT_TRUE(chrome::NOTIFICATION_NETWORK_STATE_CHANGED == type); |
48 chromeos::NetworkStateDetails* state_details = | 49 chromeos::NetworkStateDetails* state_details = |
49 Details<chromeos::NetworkStateDetails>(details).ptr(); | 50 Details<chromeos::NetworkStateDetails>(details).ptr(); |
50 state_ = state_details->state(); | 51 state_ = state_details->state(); |
51 } | 52 } |
52 | 53 |
53 void WaitForNotification() { | 54 void WaitForNotification() { |
54 ui_test_utils::WaitForNotification( | 55 ui_test_utils::WaitForNotification( |
55 NotificationType::NETWORK_STATE_CHANGED); | 56 chrome::NOTIFICATION_NETWORK_STATE_CHANGED); |
56 } | 57 } |
57 | 58 |
58 protected: | 59 protected: |
59 MockNetworkLibrary *mock_network_library_; | 60 MockNetworkLibrary *mock_network_library_; |
60 NetworkStateDetails::State state_; | 61 NetworkStateDetails::State state_; |
61 }; | 62 }; |
62 | 63 |
63 IN_PROC_BROWSER_TEST_F(NetworkStateNotifierTest, TestConnected) { | 64 IN_PROC_BROWSER_TEST_F(NetworkStateNotifierTest, TestConnected) { |
64 // NETWORK_STATE_CHAGNED has to be registered in UI thread. | 65 // NETWORK_STATE_CHAGNED has to be registered in UI thread. |
65 NotificationRegistrar registrar; | 66 NotificationRegistrar registrar; |
66 registrar.Add(this, NotificationType::NETWORK_STATE_CHANGED, | 67 registrar.Add(this, chrome::NOTIFICATION_NETWORK_STATE_CHANGED, |
67 NotificationService::AllSources()); | 68 NotificationService::AllSources()); |
68 EXPECT_CALL(*mock_network_library_, Connected()) | 69 EXPECT_CALL(*mock_network_library_, Connected()) |
69 .Times(1) | 70 .Times(1) |
70 .WillRepeatedly((Return(true))) | 71 .WillRepeatedly((Return(true))) |
71 .RetiresOnSaturation(); | 72 .RetiresOnSaturation(); |
72 NetworkStateNotifier* notifier = NetworkStateNotifier::GetInstance(); | 73 NetworkStateNotifier* notifier = NetworkStateNotifier::GetInstance(); |
73 notifier->OnNetworkManagerChanged(mock_network_library_); | 74 notifier->OnNetworkManagerChanged(mock_network_library_); |
74 WaitForNotification(); | 75 WaitForNotification(); |
75 EXPECT_EQ(chromeos::NetworkStateDetails::CONNECTED, state_); | 76 EXPECT_EQ(chromeos::NetworkStateDetails::CONNECTED, state_); |
76 } | 77 } |
77 | 78 |
78 IN_PROC_BROWSER_TEST_F(NetworkStateNotifierTest, TestConnecting) { | 79 IN_PROC_BROWSER_TEST_F(NetworkStateNotifierTest, TestConnecting) { |
79 NotificationRegistrar registrar; | 80 NotificationRegistrar registrar; |
80 registrar.Add(this, NotificationType::NETWORK_STATE_CHANGED, | 81 registrar.Add(this, chrome::NOTIFICATION_NETWORK_STATE_CHANGED, |
81 NotificationService::AllSources()); | 82 NotificationService::AllSources()); |
82 EXPECT_CALL(*mock_network_library_, Connected()) | 83 EXPECT_CALL(*mock_network_library_, Connected()) |
83 .Times(1) | 84 .Times(1) |
84 .WillOnce((Return(false))) | 85 .WillOnce((Return(false))) |
85 .RetiresOnSaturation(); | 86 .RetiresOnSaturation(); |
86 EXPECT_CALL(*mock_network_library_, Connecting()) | 87 EXPECT_CALL(*mock_network_library_, Connecting()) |
87 .Times(1) | 88 .Times(1) |
88 .WillOnce((Return(true))) | 89 .WillOnce((Return(true))) |
89 .RetiresOnSaturation(); | 90 .RetiresOnSaturation(); |
90 NetworkStateNotifier* notifier = NetworkStateNotifier::GetInstance(); | 91 NetworkStateNotifier* notifier = NetworkStateNotifier::GetInstance(); |
91 notifier->OnNetworkManagerChanged(mock_network_library_); | 92 notifier->OnNetworkManagerChanged(mock_network_library_); |
92 WaitForNotification(); | 93 WaitForNotification(); |
93 EXPECT_EQ(chromeos::NetworkStateDetails::CONNECTING, state_); | 94 EXPECT_EQ(chromeos::NetworkStateDetails::CONNECTING, state_); |
94 } | 95 } |
95 | 96 |
96 IN_PROC_BROWSER_TEST_F(NetworkStateNotifierTest, TestDisconnected) { | 97 IN_PROC_BROWSER_TEST_F(NetworkStateNotifierTest, TestDisconnected) { |
97 NotificationRegistrar registrar; | 98 NotificationRegistrar registrar; |
98 registrar.Add(this, NotificationType::NETWORK_STATE_CHANGED, | 99 registrar.Add(this, chrome::NOTIFICATION_NETWORK_STATE_CHANGED, |
99 NotificationService::AllSources()); | 100 NotificationService::AllSources()); |
100 EXPECT_CALL(*mock_network_library_, Connected()) | 101 EXPECT_CALL(*mock_network_library_, Connected()) |
101 .Times(1) | 102 .Times(1) |
102 .WillOnce((Return(false))) | 103 .WillOnce((Return(false))) |
103 .RetiresOnSaturation(); | 104 .RetiresOnSaturation(); |
104 EXPECT_CALL(*mock_network_library_, Connecting()) | 105 EXPECT_CALL(*mock_network_library_, Connecting()) |
105 .Times(1) | 106 .Times(1) |
106 .WillOnce((Return(false))) | 107 .WillOnce((Return(false))) |
107 .RetiresOnSaturation(); | 108 .RetiresOnSaturation(); |
108 NetworkStateNotifier* notifier = NetworkStateNotifier::GetInstance(); | 109 NetworkStateNotifier* notifier = NetworkStateNotifier::GetInstance(); |
109 notifier->OnNetworkManagerChanged(mock_network_library_); | 110 notifier->OnNetworkManagerChanged(mock_network_library_); |
110 WaitForNotification(); | 111 WaitForNotification(); |
111 EXPECT_EQ(chromeos::NetworkStateDetails::DISCONNECTED, state_); | 112 EXPECT_EQ(chromeos::NetworkStateDetails::DISCONNECTED, state_); |
112 } | 113 } |
113 | 114 |
114 } // namespace chromeos | 115 } // namespace chromeos |
OLD | NEW |