| 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 "base/system_monitor/system_monitor.h" | 5 #include "base/system_monitor/system_monitor.h" |
| 6 | 6 |
| 7 #include "base/file_path.h" | 7 #include "base/file_path.h" |
| 8 #include "base/message_loop.h" | 8 #include "base/message_loop.h" |
| 9 #include "base/test/mock_devices_changed_observer.h" | 9 #include "base/test/mock_devices_changed_observer.h" |
| 10 #include "base/utf_string_conversions.h" | 10 #include "base/utf_string_conversions.h" |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 103 | 103 |
| 104 // Send a duplicate resume notification. This should be suppressed. | 104 // Send a duplicate resume notification. This should be suppressed. |
| 105 system_monitor_->ProcessPowerMessage(SystemMonitor::RESUME_EVENT); | 105 system_monitor_->ProcessPowerMessage(SystemMonitor::RESUME_EVENT); |
| 106 message_loop_.RunAllPending(); | 106 message_loop_.RunAllPending(); |
| 107 EXPECT_EQ(test[0].resumes(), 1); | 107 EXPECT_EQ(test[0].resumes(), 1); |
| 108 } | 108 } |
| 109 | 109 |
| 110 TEST_F(SystemMonitorTest, DeviceChangeNotifications) { | 110 TEST_F(SystemMonitorTest, DeviceChangeNotifications) { |
| 111 const int kObservers = 5; | 111 const int kObservers = 5; |
| 112 const string16 kDeviceName = ASCIIToUTF16("media device"); | 112 const string16 kDeviceName = ASCIIToUTF16("media device"); |
| 113 const FilePath kDevicePath1(FILE_PATH_LITERAL("/testfoo")); |
| 113 const std::string kDeviceId1 = "1"; | 114 const std::string kDeviceId1 = "1"; |
| 114 const std::string kDeviceId2 = "2"; | 115 const std::string kDeviceId2 = "2"; |
| 115 | 116 |
| 116 testing::Sequence mock_sequencer[kObservers]; | 117 testing::Sequence mock_sequencer[kObservers]; |
| 117 MockDevicesChangedObserver observers[kObservers]; | 118 MockDevicesChangedObserver observers[kObservers]; |
| 118 for (int index = 0; index < kObservers; ++index) { | 119 for (int index = 0; index < kObservers; ++index) { |
| 119 system_monitor_->AddDevicesChangedObserver(&observers[index]); | 120 system_monitor_->AddDevicesChangedObserver(&observers[index]); |
| 120 | 121 |
| 121 EXPECT_CALL(observers[index], | 122 EXPECT_CALL(observers[index], |
| 122 OnDevicesChanged(base::SystemMonitor::DEVTYPE_UNKNOWN)) | 123 OnDevicesChanged(base::SystemMonitor::DEVTYPE_UNKNOWN)) |
| 123 .Times(3) | 124 .Times(3) |
| 124 .InSequence(mock_sequencer[index]); | 125 .InSequence(mock_sequencer[index]); |
| 125 EXPECT_CALL(observers[index], | 126 EXPECT_CALL(observers[index], |
| 126 OnMediaDeviceAttached(kDeviceId1, | 127 OnMediaDeviceAttached(kDeviceId1, |
| 127 kDeviceName, | 128 kDeviceName, |
| 128 base::SystemMonitor::TYPE_PATH, | 129 base::SystemMonitor::TYPE_PATH, |
| 129 testing::_)) | 130 kDevicePath1.value())) |
| 130 .InSequence(mock_sequencer[index]); | 131 .InSequence(mock_sequencer[index]); |
| 131 EXPECT_CALL(observers[index], OnMediaDeviceDetached(kDeviceId1)) | 132 EXPECT_CALL(observers[index], OnMediaDeviceDetached( |
| 132 .InSequence(mock_sequencer[index]); | 133 kDeviceId1, kDevicePath1.value())).InSequence(mock_sequencer[index]); |
| 133 EXPECT_CALL(observers[index], OnMediaDeviceDetached(kDeviceId2)) | 134 EXPECT_CALL(observers[index], OnMediaDeviceDetached( |
| 134 .InSequence(mock_sequencer[index]); | 135 kDeviceId2, testing::_)).Times(0); |
| 135 } | 136 } |
| 136 | 137 |
| 137 system_monitor_->ProcessDevicesChanged(base::SystemMonitor::DEVTYPE_UNKNOWN); | 138 system_monitor_->ProcessDevicesChanged(base::SystemMonitor::DEVTYPE_UNKNOWN); |
| 138 message_loop_.RunAllPending(); | 139 message_loop_.RunAllPending(); |
| 139 | 140 |
| 140 system_monitor_->ProcessDevicesChanged(base::SystemMonitor::DEVTYPE_UNKNOWN); | 141 system_monitor_->ProcessDevicesChanged(base::SystemMonitor::DEVTYPE_UNKNOWN); |
| 141 system_monitor_->ProcessDevicesChanged(base::SystemMonitor::DEVTYPE_UNKNOWN); | 142 system_monitor_->ProcessDevicesChanged(base::SystemMonitor::DEVTYPE_UNKNOWN); |
| 142 message_loop_.RunAllPending(); | 143 message_loop_.RunAllPending(); |
| 143 | 144 |
| 144 system_monitor_->ProcessMediaDeviceAttached( | 145 system_monitor_->ProcessMediaDeviceAttached( |
| 145 kDeviceId1, | 146 kDeviceId1, |
| 146 kDeviceName, | 147 kDeviceName, |
| 147 base::SystemMonitor::TYPE_PATH, | 148 base::SystemMonitor::TYPE_PATH, |
| 148 FILE_PATH_LITERAL("path")); | 149 kDevicePath1.value()); |
| 149 message_loop_.RunAllPending(); | 150 message_loop_.RunAllPending(); |
| 150 | 151 |
| 151 system_monitor_->ProcessMediaDeviceDetached(kDeviceId1); | 152 system_monitor_->ProcessMediaDeviceDetached(kDeviceId1); |
| 152 system_monitor_->ProcessMediaDeviceDetached(kDeviceId2); | 153 system_monitor_->ProcessMediaDeviceDetached(kDeviceId2); |
| 153 message_loop_.RunAllPending(); | 154 message_loop_.RunAllPending(); |
| 154 } | 155 } |
| 155 | 156 |
| 156 TEST_F(SystemMonitorTest, GetAttachedMediaDevicesEmpty) { | 157 TEST_F(SystemMonitorTest, GetAttachedMediaDevicesEmpty) { |
| 157 std::vector<SystemMonitor::MediaDeviceInfo> devices = | 158 std::vector<SystemMonitor::MediaDeviceInfo> devices = |
| 158 system_monitor_->GetAttachedMediaDevices(); | 159 system_monitor_->GetAttachedMediaDevices(); |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 206 | 207 |
| 207 system_monitor_->ProcessMediaDeviceDetached(kDeviceId2); | 208 system_monitor_->ProcessMediaDeviceDetached(kDeviceId2); |
| 208 message_loop_.RunAllPending(); | 209 message_loop_.RunAllPending(); |
| 209 devices = system_monitor_->GetAttachedMediaDevices(); | 210 devices = system_monitor_->GetAttachedMediaDevices(); |
| 210 EXPECT_EQ(0U, devices.size()); | 211 EXPECT_EQ(0U, devices.size()); |
| 211 } | 212 } |
| 212 | 213 |
| 213 } // namespace | 214 } // namespace |
| 214 | 215 |
| 215 } // namespace base | 216 } // namespace base |
| OLD | NEW |