| 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 "chrome/browser/chromeos/file_manager/volume_manager.h" | 5 #include "chrome/browser/chromeos/file_manager/volume_manager.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <string> | 9 #include <string> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 234 ASSERT_EQ(0U, observer.events().size()); | 234 ASSERT_EQ(0U, observer.events().size()); |
| 235 volume_manager()->RemoveObserver(&observer); | 235 volume_manager()->RemoveObserver(&observer); |
| 236 } | 236 } |
| 237 | 237 |
| 238 TEST_F(VolumeManagerTest, OnDiskEvent_Hidden) { | 238 TEST_F(VolumeManagerTest, OnDiskEvent_Hidden) { |
| 239 LoggingObserver observer; | 239 LoggingObserver observer; |
| 240 volume_manager()->AddObserver(&observer); | 240 volume_manager()->AddObserver(&observer); |
| 241 | 241 |
| 242 const bool kIsHidden = true; | 242 const bool kIsHidden = true; |
| 243 const chromeos::disks::DiskMountManager::Disk kDisk( | 243 const chromeos::disks::DiskMountManager::Disk kDisk( |
| 244 "device1", "", "", "", "", "", "", "", "", "", "", "", | 244 "device1", "", false, "", "", "", "", "", "", "", "", "", "", |
| 245 chromeos::DEVICE_TYPE_UNKNOWN, 0, false, false, false, false, false, | 245 chromeos::DEVICE_TYPE_UNKNOWN, 0, false, false, false, false, false, |
| 246 kIsHidden); | 246 kIsHidden); |
| 247 | 247 |
| 248 volume_manager()->OnDiskEvent( | 248 volume_manager()->OnDiskEvent( |
| 249 chromeos::disks::DiskMountManager::DISK_ADDED, &kDisk); | 249 chromeos::disks::DiskMountManager::DISK_ADDED, &kDisk); |
| 250 EXPECT_EQ(0U, observer.events().size()); | 250 EXPECT_EQ(0U, observer.events().size()); |
| 251 | 251 |
| 252 volume_manager()->OnDiskEvent( | 252 volume_manager()->OnDiskEvent( |
| 253 chromeos::disks::DiskMountManager::DISK_REMOVED, &kDisk); | 253 chromeos::disks::DiskMountManager::DISK_REMOVED, &kDisk); |
| 254 EXPECT_EQ(0U, observer.events().size()); | 254 EXPECT_EQ(0U, observer.events().size()); |
| 255 | 255 |
| 256 volume_manager()->OnDiskEvent( | 256 volume_manager()->OnDiskEvent( |
| 257 chromeos::disks::DiskMountManager::DISK_CHANGED, &kDisk); | 257 chromeos::disks::DiskMountManager::DISK_CHANGED, &kDisk); |
| 258 EXPECT_EQ(0U, observer.events().size()); | 258 EXPECT_EQ(0U, observer.events().size()); |
| 259 | 259 |
| 260 volume_manager()->RemoveObserver(&observer); | 260 volume_manager()->RemoveObserver(&observer); |
| 261 } | 261 } |
| 262 | 262 |
| 263 TEST_F(VolumeManagerTest, OnDiskEvent_Added) { | 263 TEST_F(VolumeManagerTest, OnDiskEvent_Added) { |
| 264 // Enable external storage. | 264 // Enable external storage. |
| 265 profile()->GetPrefs()->SetBoolean(prefs::kExternalStorageDisabled, false); | 265 profile()->GetPrefs()->SetBoolean(prefs::kExternalStorageDisabled, false); |
| 266 | 266 |
| 267 LoggingObserver observer; | 267 LoggingObserver observer; |
| 268 volume_manager()->AddObserver(&observer); | 268 volume_manager()->AddObserver(&observer); |
| 269 | 269 |
| 270 const chromeos::disks::DiskMountManager::Disk kEmptyDevicePathDisk( | 270 const chromeos::disks::DiskMountManager::Disk kEmptyDevicePathDisk( |
| 271 "", // empty device path. | 271 "", // empty device path. |
| 272 "", "", "", "", "", "", "", "", "", "", "", | 272 "", false, "", "", "", "", "", "", "", "", "", "", |
| 273 chromeos::DEVICE_TYPE_UNKNOWN, 0, false, false, false, false, false, | 273 chromeos::DEVICE_TYPE_UNKNOWN, 0, false, false, false, false, false, |
| 274 false); | 274 false); |
| 275 volume_manager()->OnDiskEvent( | 275 volume_manager()->OnDiskEvent( |
| 276 chromeos::disks::DiskMountManager::DISK_ADDED, &kEmptyDevicePathDisk); | 276 chromeos::disks::DiskMountManager::DISK_ADDED, &kEmptyDevicePathDisk); |
| 277 EXPECT_EQ(0U, observer.events().size()); | 277 EXPECT_EQ(0U, observer.events().size()); |
| 278 | 278 |
| 279 const bool kHasMedia = true; | 279 const bool kHasMedia = true; |
| 280 const chromeos::disks::DiskMountManager::Disk kMediaDisk( | 280 const chromeos::disks::DiskMountManager::Disk kMediaDisk( |
| 281 "device1", "", "", "", "", "", "", "", "", "", "", "", | 281 "device1", "", false, "", "", "", "", "", "", "", "", "", "", |
| 282 chromeos::DEVICE_TYPE_UNKNOWN, 0, false, false, kHasMedia, false, false, | 282 chromeos::DEVICE_TYPE_UNKNOWN, 0, false, false, kHasMedia, false, false, |
| 283 false); | 283 false); |
| 284 volume_manager()->OnDiskEvent( | 284 volume_manager()->OnDiskEvent( |
| 285 chromeos::disks::DiskMountManager::DISK_ADDED, &kMediaDisk); | 285 chromeos::disks::DiskMountManager::DISK_ADDED, &kMediaDisk); |
| 286 ASSERT_EQ(1U, observer.events().size()); | 286 ASSERT_EQ(1U, observer.events().size()); |
| 287 const LoggingObserver::Event& event = observer.events()[0]; | 287 const LoggingObserver::Event& event = observer.events()[0]; |
| 288 EXPECT_EQ(LoggingObserver::Event::DISK_ADDED, event.type); | 288 EXPECT_EQ(LoggingObserver::Event::DISK_ADDED, event.type); |
| 289 EXPECT_EQ("device1", event.device_path); | 289 EXPECT_EQ("device1", event.device_path); |
| 290 EXPECT_TRUE(event.mounting); | 290 EXPECT_TRUE(event.mounting); |
| 291 | 291 |
| (...skipping 12 matching lines...) Expand all Loading... |
| 304 // Enable external storage. | 304 // Enable external storage. |
| 305 profile()->GetPrefs()->SetBoolean(prefs::kExternalStorageDisabled, false); | 305 profile()->GetPrefs()->SetBoolean(prefs::kExternalStorageDisabled, false); |
| 306 | 306 |
| 307 // Device which is already mounted. | 307 // Device which is already mounted. |
| 308 { | 308 { |
| 309 LoggingObserver observer; | 309 LoggingObserver observer; |
| 310 volume_manager()->AddObserver(&observer); | 310 volume_manager()->AddObserver(&observer); |
| 311 | 311 |
| 312 const bool kHasMedia = true; | 312 const bool kHasMedia = true; |
| 313 const chromeos::disks::DiskMountManager::Disk kMountedMediaDisk( | 313 const chromeos::disks::DiskMountManager::Disk kMountedMediaDisk( |
| 314 "device1", "mounted", "", "", "", "", "", "", "", "", "", "", | 314 "device1", "mounted", false, "", "", "", "", "", "", "", "", "", "", |
| 315 chromeos::DEVICE_TYPE_UNKNOWN, 0, false, false, | 315 chromeos::DEVICE_TYPE_UNKNOWN, 0, false, false, |
| 316 kHasMedia, false, false, false); | 316 kHasMedia, false, false, false); |
| 317 volume_manager()->OnDiskEvent( | 317 volume_manager()->OnDiskEvent( |
| 318 chromeos::disks::DiskMountManager::DISK_ADDED, &kMountedMediaDisk); | 318 chromeos::disks::DiskMountManager::DISK_ADDED, &kMountedMediaDisk); |
| 319 ASSERT_EQ(1U, observer.events().size()); | 319 ASSERT_EQ(1U, observer.events().size()); |
| 320 const LoggingObserver::Event& event = observer.events()[0]; | 320 const LoggingObserver::Event& event = observer.events()[0]; |
| 321 EXPECT_EQ(LoggingObserver::Event::DISK_ADDED, event.type); | 321 EXPECT_EQ(LoggingObserver::Event::DISK_ADDED, event.type); |
| 322 EXPECT_EQ("device1", event.device_path); | 322 EXPECT_EQ("device1", event.device_path); |
| 323 EXPECT_FALSE(event.mounting); | 323 EXPECT_FALSE(event.mounting); |
| 324 | 324 |
| 325 ASSERT_EQ(0U, disk_mount_manager_->mount_requests().size()); | 325 ASSERT_EQ(0U, disk_mount_manager_->mount_requests().size()); |
| 326 | 326 |
| 327 volume_manager()->RemoveObserver(&observer); | 327 volume_manager()->RemoveObserver(&observer); |
| 328 } | 328 } |
| 329 | 329 |
| 330 // Device without media. | 330 // Device without media. |
| 331 { | 331 { |
| 332 LoggingObserver observer; | 332 LoggingObserver observer; |
| 333 volume_manager()->AddObserver(&observer); | 333 volume_manager()->AddObserver(&observer); |
| 334 | 334 |
| 335 const bool kWithoutMedia = false; | 335 const bool kWithoutMedia = false; |
| 336 const chromeos::disks::DiskMountManager::Disk kNoMediaDisk( | 336 const chromeos::disks::DiskMountManager::Disk kNoMediaDisk( |
| 337 "device1", "", "", "", "", "", "", "", "", "", "", "", | 337 "device1", "", false, "", "", "", "", "", "", "", "", "", "", |
| 338 chromeos::DEVICE_TYPE_UNKNOWN, 0, false, false, | 338 chromeos::DEVICE_TYPE_UNKNOWN, 0, false, false, |
| 339 kWithoutMedia, false, false, false); | 339 kWithoutMedia, false, false, false); |
| 340 volume_manager()->OnDiskEvent( | 340 volume_manager()->OnDiskEvent( |
| 341 chromeos::disks::DiskMountManager::DISK_ADDED, &kNoMediaDisk); | 341 chromeos::disks::DiskMountManager::DISK_ADDED, &kNoMediaDisk); |
| 342 ASSERT_EQ(1U, observer.events().size()); | 342 ASSERT_EQ(1U, observer.events().size()); |
| 343 const LoggingObserver::Event& event = observer.events()[0]; | 343 const LoggingObserver::Event& event = observer.events()[0]; |
| 344 EXPECT_EQ(LoggingObserver::Event::DISK_ADDED, event.type); | 344 EXPECT_EQ(LoggingObserver::Event::DISK_ADDED, event.type); |
| 345 EXPECT_EQ("device1", event.device_path); | 345 EXPECT_EQ("device1", event.device_path); |
| 346 EXPECT_FALSE(event.mounting); | 346 EXPECT_FALSE(event.mounting); |
| 347 | 347 |
| 348 ASSERT_EQ(0U, disk_mount_manager_->mount_requests().size()); | 348 ASSERT_EQ(0U, disk_mount_manager_->mount_requests().size()); |
| 349 | 349 |
| 350 volume_manager()->RemoveObserver(&observer); | 350 volume_manager()->RemoveObserver(&observer); |
| 351 } | 351 } |
| 352 | 352 |
| 353 // External storage is disabled. | 353 // External storage is disabled. |
| 354 { | 354 { |
| 355 profile()->GetPrefs()->SetBoolean(prefs::kExternalStorageDisabled, true); | 355 profile()->GetPrefs()->SetBoolean(prefs::kExternalStorageDisabled, true); |
| 356 | 356 |
| 357 LoggingObserver observer; | 357 LoggingObserver observer; |
| 358 volume_manager()->AddObserver(&observer); | 358 volume_manager()->AddObserver(&observer); |
| 359 | 359 |
| 360 const bool kHasMedia = true; | 360 const bool kHasMedia = true; |
| 361 const chromeos::disks::DiskMountManager::Disk kMediaDisk( | 361 const chromeos::disks::DiskMountManager::Disk kMediaDisk( |
| 362 "device1", "", "", "", "", "", "", "", "", "", "", "", | 362 "device1", "", false, "", "", "", "", "", "", "", "", "", "", |
| 363 chromeos::DEVICE_TYPE_UNKNOWN, 0, false, false, | 363 chromeos::DEVICE_TYPE_UNKNOWN, 0, false, false, |
| 364 kHasMedia, false, false, false); | 364 kHasMedia, false, false, false); |
| 365 volume_manager()->OnDiskEvent( | 365 volume_manager()->OnDiskEvent( |
| 366 chromeos::disks::DiskMountManager::DISK_ADDED, &kMediaDisk); | 366 chromeos::disks::DiskMountManager::DISK_ADDED, &kMediaDisk); |
| 367 ASSERT_EQ(1U, observer.events().size()); | 367 ASSERT_EQ(1U, observer.events().size()); |
| 368 const LoggingObserver::Event& event = observer.events()[0]; | 368 const LoggingObserver::Event& event = observer.events()[0]; |
| 369 EXPECT_EQ(LoggingObserver::Event::DISK_ADDED, event.type); | 369 EXPECT_EQ(LoggingObserver::Event::DISK_ADDED, event.type); |
| 370 EXPECT_EQ("device1", event.device_path); | 370 EXPECT_EQ("device1", event.device_path); |
| 371 EXPECT_FALSE(event.mounting); | 371 EXPECT_FALSE(event.mounting); |
| 372 | 372 |
| 373 ASSERT_EQ(0U, disk_mount_manager_->mount_requests().size()); | 373 ASSERT_EQ(0U, disk_mount_manager_->mount_requests().size()); |
| 374 | 374 |
| 375 volume_manager()->RemoveObserver(&observer); | 375 volume_manager()->RemoveObserver(&observer); |
| 376 } | 376 } |
| 377 } | 377 } |
| 378 | 378 |
| 379 TEST_F(VolumeManagerTest, OnDiskEvent_Removed) { | 379 TEST_F(VolumeManagerTest, OnDiskEvent_Removed) { |
| 380 LoggingObserver observer; | 380 LoggingObserver observer; |
| 381 volume_manager()->AddObserver(&observer); | 381 volume_manager()->AddObserver(&observer); |
| 382 | 382 |
| 383 const chromeos::disks::DiskMountManager::Disk kMountedDisk( | 383 const chromeos::disks::DiskMountManager::Disk kMountedDisk( |
| 384 "device1", "mount_path", "", "", "", "", "", "", "", "", "", "", | 384 "device1", "mount_path", false, "", "", "", "", "", "", "", "", "", "", |
| 385 chromeos::DEVICE_TYPE_UNKNOWN, 0, false, false, false, false, false, | 385 chromeos::DEVICE_TYPE_UNKNOWN, 0, false, false, false, false, false, |
| 386 false); | 386 false); |
| 387 volume_manager()->OnDiskEvent( | 387 volume_manager()->OnDiskEvent( |
| 388 chromeos::disks::DiskMountManager::DISK_REMOVED, &kMountedDisk); | 388 chromeos::disks::DiskMountManager::DISK_REMOVED, &kMountedDisk); |
| 389 | 389 |
| 390 ASSERT_EQ(1U, observer.events().size()); | 390 ASSERT_EQ(1U, observer.events().size()); |
| 391 const LoggingObserver::Event& event = observer.events()[0]; | 391 const LoggingObserver::Event& event = observer.events()[0]; |
| 392 EXPECT_EQ(LoggingObserver::Event::DISK_REMOVED, event.type); | 392 EXPECT_EQ(LoggingObserver::Event::DISK_REMOVED, event.type); |
| 393 EXPECT_EQ("device1", event.device_path); | 393 EXPECT_EQ("device1", event.device_path); |
| 394 | 394 |
| 395 ASSERT_EQ(1U, disk_mount_manager_->unmount_requests().size()); | 395 ASSERT_EQ(1U, disk_mount_manager_->unmount_requests().size()); |
| 396 const FakeDiskMountManager::UnmountRequest& unmount_request = | 396 const FakeDiskMountManager::UnmountRequest& unmount_request = |
| 397 disk_mount_manager_->unmount_requests()[0]; | 397 disk_mount_manager_->unmount_requests()[0]; |
| 398 EXPECT_EQ("mount_path", unmount_request.mount_path); | 398 EXPECT_EQ("mount_path", unmount_request.mount_path); |
| 399 EXPECT_EQ(chromeos::UNMOUNT_OPTIONS_LAZY, unmount_request.options); | 399 EXPECT_EQ(chromeos::UNMOUNT_OPTIONS_LAZY, unmount_request.options); |
| 400 | 400 |
| 401 volume_manager()->RemoveObserver(&observer); | 401 volume_manager()->RemoveObserver(&observer); |
| 402 } | 402 } |
| 403 | 403 |
| 404 TEST_F(VolumeManagerTest, OnDiskEvent_RemovedNotMounted) { | 404 TEST_F(VolumeManagerTest, OnDiskEvent_RemovedNotMounted) { |
| 405 LoggingObserver observer; | 405 LoggingObserver observer; |
| 406 volume_manager()->AddObserver(&observer); | 406 volume_manager()->AddObserver(&observer); |
| 407 | 407 |
| 408 const chromeos::disks::DiskMountManager::Disk kNotMountedDisk( | 408 const chromeos::disks::DiskMountManager::Disk kNotMountedDisk( |
| 409 "device1", "", "", "", "", "", "", "", "", "", "", "", | 409 "device1", "", false, "", "", "", "", "", "", "", "", "", "", |
| 410 chromeos::DEVICE_TYPE_UNKNOWN, 0, false, false, false, false, false, | 410 chromeos::DEVICE_TYPE_UNKNOWN, 0, false, false, false, false, false, |
| 411 false); | 411 false); |
| 412 volume_manager()->OnDiskEvent( | 412 volume_manager()->OnDiskEvent( |
| 413 chromeos::disks::DiskMountManager::DISK_REMOVED, &kNotMountedDisk); | 413 chromeos::disks::DiskMountManager::DISK_REMOVED, &kNotMountedDisk); |
| 414 | 414 |
| 415 ASSERT_EQ(1U, observer.events().size()); | 415 ASSERT_EQ(1U, observer.events().size()); |
| 416 const LoggingObserver::Event& event = observer.events()[0]; | 416 const LoggingObserver::Event& event = observer.events()[0]; |
| 417 EXPECT_EQ(LoggingObserver::Event::DISK_REMOVED, event.type); | 417 EXPECT_EQ(LoggingObserver::Event::DISK_REMOVED, event.type); |
| 418 EXPECT_EQ("device1", event.device_path); | 418 EXPECT_EQ("device1", event.device_path); |
| 419 | 419 |
| 420 ASSERT_EQ(0U, disk_mount_manager_->unmount_requests().size()); | 420 ASSERT_EQ(0U, disk_mount_manager_->unmount_requests().size()); |
| 421 | 421 |
| 422 volume_manager()->RemoveObserver(&observer); | 422 volume_manager()->RemoveObserver(&observer); |
| 423 } | 423 } |
| 424 | 424 |
| 425 TEST_F(VolumeManagerTest, OnDiskEvent_Changed) { | 425 TEST_F(VolumeManagerTest, OnDiskEvent_Changed) { |
| 426 // Changed event should cause mounting (if possible). | 426 // Changed event should cause mounting (if possible). |
| 427 LoggingObserver observer; | 427 LoggingObserver observer; |
| 428 volume_manager()->AddObserver(&observer); | 428 volume_manager()->AddObserver(&observer); |
| 429 | 429 |
| 430 const chromeos::disks::DiskMountManager::Disk kDisk( | 430 const chromeos::disks::DiskMountManager::Disk kDisk( |
| 431 "device1", "", "", "", "", "", "", "", "", "", "", "", | 431 "device1", "", false, "", "", "", "", "", "", "", "", "", "", |
| 432 chromeos::DEVICE_TYPE_UNKNOWN, 0, false, false, true, false, false, | 432 chromeos::DEVICE_TYPE_UNKNOWN, 0, false, false, true, false, false, |
| 433 false); | 433 false); |
| 434 volume_manager()->OnDiskEvent( | 434 volume_manager()->OnDiskEvent( |
| 435 chromeos::disks::DiskMountManager::DISK_CHANGED, &kDisk); | 435 chromeos::disks::DiskMountManager::DISK_CHANGED, &kDisk); |
| 436 | 436 |
| 437 EXPECT_EQ(1U, observer.events().size()); | 437 EXPECT_EQ(1U, observer.events().size()); |
| 438 EXPECT_EQ(1U, disk_mount_manager_->mount_requests().size()); | 438 EXPECT_EQ(1U, disk_mount_manager_->mount_requests().size()); |
| 439 EXPECT_EQ(0U, disk_mount_manager_->unmount_requests().size()); | 439 EXPECT_EQ(0U, disk_mount_manager_->unmount_requests().size()); |
| 440 // Read-write mode by default. | 440 // Read-write mode by default. |
| 441 EXPECT_EQ(chromeos::MOUNT_ACCESS_MODE_READ_WRITE, | 441 EXPECT_EQ(chromeos::MOUNT_ACCESS_MODE_READ_WRITE, |
| 442 disk_mount_manager_->mount_requests()[0].access_mode); | 442 disk_mount_manager_->mount_requests()[0].access_mode); |
| 443 | 443 |
| 444 volume_manager()->RemoveObserver(&observer); | 444 volume_manager()->RemoveObserver(&observer); |
| 445 } | 445 } |
| 446 | 446 |
| 447 TEST_F(VolumeManagerTest, OnDiskEvent_ChangedInReadonly) { | 447 TEST_F(VolumeManagerTest, OnDiskEvent_ChangedInReadonly) { |
| 448 profile()->GetPrefs()->SetBoolean(prefs::kExternalStorageReadOnly, true); | 448 profile()->GetPrefs()->SetBoolean(prefs::kExternalStorageReadOnly, true); |
| 449 | 449 |
| 450 // Changed event should cause mounting (if possible). | 450 // Changed event should cause mounting (if possible). |
| 451 LoggingObserver observer; | 451 LoggingObserver observer; |
| 452 volume_manager()->AddObserver(&observer); | 452 volume_manager()->AddObserver(&observer); |
| 453 | 453 |
| 454 const chromeos::disks::DiskMountManager::Disk kDisk( | 454 const chromeos::disks::DiskMountManager::Disk kDisk( |
| 455 "device1", "", "", "", "", "", "", "", "", "", "", "", | 455 "device1", "", false, "", "", "", "", "", "", "", "", "", "", |
| 456 chromeos::DEVICE_TYPE_UNKNOWN, 0, false, false, true, false, false, | 456 chromeos::DEVICE_TYPE_UNKNOWN, 0, false, false, true, false, false, |
| 457 false); | 457 false); |
| 458 volume_manager()->OnDiskEvent(chromeos::disks::DiskMountManager::DISK_CHANGED, | 458 volume_manager()->OnDiskEvent(chromeos::disks::DiskMountManager::DISK_CHANGED, |
| 459 &kDisk); | 459 &kDisk); |
| 460 | 460 |
| 461 EXPECT_EQ(1U, observer.events().size()); | 461 EXPECT_EQ(1U, observer.events().size()); |
| 462 EXPECT_EQ(1U, disk_mount_manager_->mount_requests().size()); | 462 EXPECT_EQ(1U, disk_mount_manager_->mount_requests().size()); |
| 463 EXPECT_EQ(0U, disk_mount_manager_->unmount_requests().size()); | 463 EXPECT_EQ(0U, disk_mount_manager_->unmount_requests().size()); |
| 464 // Shoule mount a disk in read-only mode. | 464 // Shoule mount a disk in read-only mode. |
| 465 EXPECT_EQ(chromeos::MOUNT_ACCESS_MODE_READ_ONLY, | 465 EXPECT_EQ(chromeos::MOUNT_ACCESS_MODE_READ_ONLY, |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 540 EXPECT_EQ(LoggingObserver::Event::VOLUME_UNMOUNTED, event.type); | 540 EXPECT_EQ(LoggingObserver::Event::VOLUME_UNMOUNTED, event.type); |
| 541 EXPECT_EQ("device1", event.device_path); | 541 EXPECT_EQ("device1", event.device_path); |
| 542 EXPECT_EQ(chromeos::MOUNT_ERROR_NONE, event.mount_error); | 542 EXPECT_EQ(chromeos::MOUNT_ERROR_NONE, event.mount_error); |
| 543 | 543 |
| 544 volume_manager()->RemoveObserver(&observer); | 544 volume_manager()->RemoveObserver(&observer); |
| 545 } | 545 } |
| 546 | 546 |
| 547 TEST_F(VolumeManagerTest, OnMountEvent_Remounting) { | 547 TEST_F(VolumeManagerTest, OnMountEvent_Remounting) { |
| 548 std::unique_ptr<chromeos::disks::DiskMountManager::Disk> disk( | 548 std::unique_ptr<chromeos::disks::DiskMountManager::Disk> disk( |
| 549 new chromeos::disks::DiskMountManager::Disk( | 549 new chromeos::disks::DiskMountManager::Disk( |
| 550 "device1", "", "", "", "", "", "", "", "", "", "uuid1", "", | 550 "device1", "", false, "", "", "", "", "", "", "", "", "uuid1", "", |
| 551 chromeos::DEVICE_TYPE_UNKNOWN, 0, false, false, false, false, false, | 551 chromeos::DEVICE_TYPE_UNKNOWN, 0, false, false, false, false, false, |
| 552 false)); | 552 false)); |
| 553 disk_mount_manager_->AddDiskForTest(std::move(disk)); | 553 disk_mount_manager_->AddDiskForTest(std::move(disk)); |
| 554 disk_mount_manager_->MountPath("device1", "", "", chromeos::MOUNT_TYPE_DEVICE, | 554 disk_mount_manager_->MountPath("device1", "", "", chromeos::MOUNT_TYPE_DEVICE, |
| 555 chromeos::MOUNT_ACCESS_MODE_READ_WRITE); | 555 chromeos::MOUNT_ACCESS_MODE_READ_WRITE); |
| 556 | 556 |
| 557 const chromeos::disks::DiskMountManager::MountPointInfo kMountPoint( | 557 const chromeos::disks::DiskMountManager::MountPointInfo kMountPoint( |
| 558 "device1", | 558 "device1", |
| 559 "mount1", | 559 "mount1", |
| 560 chromeos::MOUNT_TYPE_DEVICE, | 560 chromeos::MOUNT_TYPE_DEVICE, |
| (...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 750 profile()->GetPrefs()->SetBoolean(prefs::kExternalStorageDisabled, false); | 750 profile()->GetPrefs()->SetBoolean(prefs::kExternalStorageDisabled, false); |
| 751 secondary.profile()->GetPrefs()->SetBoolean(prefs::kExternalStorageDisabled, | 751 secondary.profile()->GetPrefs()->SetBoolean(prefs::kExternalStorageDisabled, |
| 752 true); | 752 true); |
| 753 | 753 |
| 754 LoggingObserver main_observer, secondary_observer; | 754 LoggingObserver main_observer, secondary_observer; |
| 755 volume_manager()->AddObserver(&main_observer); | 755 volume_manager()->AddObserver(&main_observer); |
| 756 secondary.volume_manager()->AddObserver(&secondary_observer); | 756 secondary.volume_manager()->AddObserver(&secondary_observer); |
| 757 | 757 |
| 758 // Add 1 disk. | 758 // Add 1 disk. |
| 759 const chromeos::disks::DiskMountManager::Disk kMediaDisk( | 759 const chromeos::disks::DiskMountManager::Disk kMediaDisk( |
| 760 "device1", "", "", "", "", "", "", "", "", "", "", "", | 760 "device1", "", false, "", "", "", "", "", "", "", "", "", "", |
| 761 chromeos::DEVICE_TYPE_UNKNOWN, 0, false, false, true, false, false, | 761 chromeos::DEVICE_TYPE_UNKNOWN, 0, false, false, true, false, false, |
| 762 false); | 762 false); |
| 763 volume_manager()->OnDiskEvent( | 763 volume_manager()->OnDiskEvent( |
| 764 chromeos::disks::DiskMountManager::DISK_ADDED, &kMediaDisk); | 764 chromeos::disks::DiskMountManager::DISK_ADDED, &kMediaDisk); |
| 765 secondary.volume_manager()->OnDiskEvent( | 765 secondary.volume_manager()->OnDiskEvent( |
| 766 chromeos::disks::DiskMountManager::DISK_ADDED, &kMediaDisk); | 766 chromeos::disks::DiskMountManager::DISK_ADDED, &kMediaDisk); |
| 767 | 767 |
| 768 // The profile with external storage enabled should have mounted the volume. | 768 // The profile with external storage enabled should have mounted the volume. |
| 769 bool has_volume_mounted = false; | 769 bool has_volume_mounted = false; |
| 770 for (size_t i = 0; i < main_observer.events().size(); ++i) { | 770 for (size_t i = 0; i < main_observer.events().size(); ++i) { |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 904 // Detach | 904 // Detach |
| 905 volume_manager()->OnRemovableStorageDetached(info); | 905 volume_manager()->OnRemovableStorageDetached(info); |
| 906 ASSERT_EQ(2u, observer.events().size()); | 906 ASSERT_EQ(2u, observer.events().size()); |
| 907 EXPECT_EQ(LoggingObserver::Event::VOLUME_UNMOUNTED, | 907 EXPECT_EQ(LoggingObserver::Event::VOLUME_UNMOUNTED, |
| 908 observer.events()[1].type); | 908 observer.events()[1].type); |
| 909 | 909 |
| 910 EXPECT_FALSE(volume.get()); | 910 EXPECT_FALSE(volume.get()); |
| 911 } | 911 } |
| 912 | 912 |
| 913 } // namespace file_manager | 913 } // namespace file_manager |
| OLD | NEW |