OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/extensions/file_manager/device_event_router.h" | 5 #include "chrome/browser/chromeos/extensions/file_manager/device_event_router.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/message_loop/message_loop.h" | 10 #include "base/message_loop/message_loop.h" |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
117 device_event_router->OnVolumeUnmounted(chromeos::MOUNT_ERROR_NONE, | 117 device_event_router->OnVolumeUnmounted(chromeos::MOUNT_ERROR_NONE, |
118 volumeInfo); | 118 volumeInfo); |
119 device_event_router->OnDiskRemoved(disk1_unmounted); | 119 device_event_router->OnDiskRemoved(disk1_unmounted); |
120 device_event_router->OnDeviceRemoved("/device/test"); | 120 device_event_router->OnDeviceRemoved("/device/test"); |
121 ASSERT_EQ(1u, device_event_router->events.size()); | 121 ASSERT_EQ(1u, device_event_router->events.size()); |
122 EXPECT_EQ(file_manager_private::DEVICE_EVENT_TYPE_REMOVED, | 122 EXPECT_EQ(file_manager_private::DEVICE_EVENT_TYPE_REMOVED, |
123 device_event_router->events[0].type); | 123 device_event_router->events[0].type); |
124 EXPECT_EQ("/device/test", device_event_router->events[0].device_path); | 124 EXPECT_EQ("/device/test", device_event_router->events[0].device_path); |
125 } | 125 } |
126 | 126 |
127 TEST_F(DeviceEventRouterTest, DeviceScan) { | |
128 const Disk disk = CreateTestDisk("/device/test", "/mount/path1"); | |
129 const Disk disk_unmounted = CreateTestDisk("/device/test", ""); | |
130 const VolumeInfo volumeInfo = | |
131 CreateTestVolumeInfo("/device/test", "/mount/path1"); | |
132 device_event_router->OnDeviceAdded("/device/test"); | |
133 base::RunLoop().RunUntilIdle(); | |
134 device_event_router->OnDiskAdded(disk, true); | |
135 device_event_router->OnVolumeMounted(chromeos::MOUNT_ERROR_NONE, volumeInfo); | |
136 device_event_router->OnVolumeUnmounted(chromeos::MOUNT_ERROR_NONE, | |
137 volumeInfo); | |
138 device_event_router->OnDiskRemoved(disk_unmounted); | |
139 device_event_router->OnDeviceRemoved("/device/test"); | |
140 ASSERT_EQ(2u, device_event_router->events.size()); | |
141 EXPECT_EQ(file_manager_private::DEVICE_EVENT_TYPE_SCAN_STARTED, | |
142 device_event_router->events[0].type); | |
143 EXPECT_EQ("/device/test", device_event_router->events[0].device_path); | |
144 EXPECT_EQ(file_manager_private::DEVICE_EVENT_TYPE_REMOVED, | |
145 device_event_router->events[1].type); | |
146 EXPECT_EQ("/device/test", device_event_router->events[1].device_path); | |
147 } | |
148 | |
149 TEST_F(DeviceEventRouterTest, DeviceScanCancelled) { | |
150 const Disk disk = CreateTestDisk("/device/test", "/mount/path1"); | |
151 const Disk disk_unmounted = CreateTestDisk("/device/test", ""); | |
152 const VolumeInfo volumeInfo = | |
153 CreateTestVolumeInfo("/device/test", "/mount/path1"); | |
154 device_event_router->OnDeviceAdded("/device/test"); | |
155 base::RunLoop().RunUntilIdle(); | |
156 device_event_router->OnDiskAdded(disk, false); | |
157 device_event_router->OnDiskRemoved(disk_unmounted); | |
158 device_event_router->OnDeviceRemoved("/device/test"); | |
159 ASSERT_EQ(3u, device_event_router->events.size()); | |
160 EXPECT_EQ(file_manager_private::DEVICE_EVENT_TYPE_SCAN_STARTED, | |
161 device_event_router->events[0].type); | |
162 EXPECT_EQ("/device/test", device_event_router->events[0].device_path); | |
163 EXPECT_EQ(file_manager_private::DEVICE_EVENT_TYPE_SCAN_CANCELLED, | |
164 device_event_router->events[1].type); | |
165 EXPECT_EQ("/device/test", device_event_router->events[1].device_path); | |
166 EXPECT_EQ(file_manager_private::DEVICE_EVENT_TYPE_REMOVED, | |
167 device_event_router->events[2].type); | |
168 EXPECT_EQ("/device/test", device_event_router->events[2].device_path); | |
169 } | |
170 | |
171 TEST_F(DeviceEventRouterTest, HardUnplugged) { | 127 TEST_F(DeviceEventRouterTest, HardUnplugged) { |
172 const Disk disk1 = CreateTestDisk("/device/test", "/mount/path1"); | 128 const Disk disk1 = CreateTestDisk("/device/test", "/mount/path1"); |
173 const Disk disk2 = CreateTestDisk("/device/test", "/mount/path2"); | 129 const Disk disk2 = CreateTestDisk("/device/test", "/mount/path2"); |
174 device_event_router->OnDeviceAdded("/device/test"); | 130 device_event_router->OnDeviceAdded("/device/test"); |
175 device_event_router->OnDiskAdded(disk1, true); | 131 device_event_router->OnDiskAdded(disk1, true); |
176 device_event_router->OnDiskAdded(disk2, true); | 132 device_event_router->OnDiskAdded(disk2, true); |
177 device_event_router->OnDiskRemoved(disk1); | 133 device_event_router->OnDiskRemoved(disk1); |
178 device_event_router->OnDiskRemoved(disk2); | 134 device_event_router->OnDiskRemoved(disk2); |
179 device_event_router->OnDeviceRemoved(kTestDevicePath); | 135 device_event_router->OnDeviceRemoved(kTestDevicePath); |
180 base::RunLoop().RunUntilIdle(); | 136 base::RunLoop().RunUntilIdle(); |
181 ASSERT_EQ(2u, device_event_router->events.size()); | 137 ASSERT_EQ(2u, device_event_router->events.size()); |
182 EXPECT_EQ(file_manager_private::DEVICE_EVENT_TYPE_HARD_UNPLUGGED, | 138 EXPECT_EQ(file_manager_private::DEVICE_EVENT_TYPE_HARD_UNPLUGGED, |
183 device_event_router->events[0].type); | 139 device_event_router->events[0].type); |
184 EXPECT_EQ("/device/test", device_event_router->events[0].device_path); | 140 EXPECT_EQ("/device/test", device_event_router->events[0].device_path); |
185 EXPECT_EQ(file_manager_private::DEVICE_EVENT_TYPE_REMOVED, | 141 EXPECT_EQ(file_manager_private::DEVICE_EVENT_TYPE_REMOVED, |
186 device_event_router->events[1].type); | 142 device_event_router->events[1].type); |
187 EXPECT_EQ("/device/test", device_event_router->events[1].device_path); | 143 EXPECT_EQ("/device/test", device_event_router->events[1].device_path); |
188 } | 144 } |
189 | 145 |
190 } // namespace file_manager | 146 } // namespace file_manager |
OLD | NEW |