Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(733)

Side by Side Diff: chrome/browser/media_gallery/removable_device_notifications_linux_unittest.cc

Issue 10880078: Linux removable device notifications: notify about non-dcim devices. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 // RemovableDeviceNotificationsLinux unit tests. 5 // RemovableDeviceNotificationsLinux unit tests.
6 6
7 #include "chrome/browser/media_gallery/removable_device_notifications_linux.h" 7 #include "chrome/browser/media_gallery/removable_device_notifications_linux.h"
8 8
9 #include <mntent.h> 9 #include <mntent.h>
10 #include <stdio.h> 10 #include <stdio.h>
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after
303 303
304 DISALLOW_COPY_AND_ASSIGN(RemovableDeviceNotificationLinuxTest); 304 DISALLOW_COPY_AND_ASSIGN(RemovableDeviceNotificationLinuxTest);
305 }; 305 };
306 306
307 // Simple test case where we attach and detach a media device. 307 // Simple test case where we attach and detach a media device.
308 TEST_F(RemovableDeviceNotificationLinuxTest, BasicAttachDetach) { 308 TEST_F(RemovableDeviceNotificationLinuxTest, BasicAttachDetach) {
309 testing::Sequence mock_sequence; 309 testing::Sequence mock_sequence;
310 FilePath test_path = CreateMountPointWithDCIMDir(kMountPointA); 310 FilePath test_path = CreateMountPointWithDCIMDir(kMountPointA);
311 ASSERT_FALSE(test_path.empty()); 311 ASSERT_FALSE(test_path.empty());
312 MtabTestData test_data[] = { 312 MtabTestData test_data[] = {
313 MtabTestData(kDevice1, kInvalidPath, kValidFS),
314 MtabTestData(kDevice2, test_path.value(), kValidFS), 313 MtabTestData(kDevice2, test_path.value(), kValidFS),
314 MtabTestData(kDevice5, kInvalidPath, kValidFS),
315 }; 315 };
316 // Only |kDevice2| should be attached, since |kDevice1| has a bad path. 316 // Only |kDevice2| should be attached, since |kDevice1| has a bad path.
kmadhusu 2012/08/29 01:12:02 nit: kDevice1 => kDevice5
vandebo (ex-Chrome) 2012/08/29 06:10:13 Done.
kmadhusu 2012/08/29 16:46:19 Only |kDevice2| should be attached, since |kDevice
vandebo (ex-Chrome) 2012/08/29 17:04:39 Oops, fixed.
317 EXPECT_CALL(observer(), OnRemovableStorageAttached(GetDeviceId(kDevice2), 317 EXPECT_CALL(observer(), OnRemovableStorageAttached(GetDeviceId(kDevice2),
318 GetDeviceName(kDevice2), 318 GetDeviceName(kDevice2),
319 test_path.value())) 319 test_path.value()))
320 .InSequence(mock_sequence); 320 .InSequence(mock_sequence);
321 AppendToMtabAndRunLoop(test_data, arraysize(test_data)); 321 AppendToMtabAndRunLoop(test_data, arraysize(test_data));
322 322
323 // |kDevice2| should be detached here. 323 // |kDevice2| should be detached here.
324 EXPECT_CALL(observer(), OnRemovableStorageDetached(GetDeviceId(kDevice2))) 324 EXPECT_CALL(observer(), OnRemovableStorageDetached(GetDeviceId(kDevice2)))
325 .InSequence(mock_sequence); 325 .InSequence(mock_sequence);
326 WriteEmptyMtabAndRunLoop(); 326 WriteEmptyMtabAndRunLoop();
327 } 327 }
328 328
329 // Only mount points with DCIM directories are recognized. 329 // Only removable devices are recognized.
330 TEST_F(RemovableDeviceNotificationLinuxTest, DCIM) { 330 TEST_F(RemovableDeviceNotificationLinuxTest, Removable) {
331 testing::Sequence mock_sequence; 331 testing::Sequence mock_sequence;
332 FilePath test_path_a = CreateMountPointWithDCIMDir(kMountPointA); 332 FilePath test_path_a = CreateMountPointWithDCIMDir(kMountPointA);
333 ASSERT_FALSE(test_path_a.empty()); 333 ASSERT_FALSE(test_path_a.empty());
334 MtabTestData test_data1[] = { 334 MtabTestData test_data1[] = {
335 MtabTestData(kDevice1, test_path_a.value(), kValidFS), 335 MtabTestData(kDevice1, test_path_a.value(), kValidFS),
336 }; 336 };
337 // |kDevice1| should be attached as expected. 337 // |kDevice1| should be attached as expected.
338 EXPECT_CALL(observer(), OnRemovableStorageAttached(GetDeviceId(kDevice1), 338 EXPECT_CALL(observer(), OnRemovableStorageAttached(GetDeviceId(kDevice1),
339 GetDeviceName(kDevice1), 339 GetDeviceName(kDevice1),
340 test_path_a.value())) 340 test_path_a.value()))
341 .InSequence(mock_sequence); 341 .InSequence(mock_sequence);
342 AppendToMtabAndRunLoop(test_data1, arraysize(test_data1)); 342 AppendToMtabAndRunLoop(test_data1, arraysize(test_data1));
343 343
344 // This should do nothing, since |kMountPointB| does not have a DCIM dir. 344 // This should do nothing, since |kDevice5| is not removable.
345 FilePath test_path_b = CreateMountPointWithoutDCIMDir(kMountPointB); 345 FilePath test_path_b = CreateMountPointWithoutDCIMDir(kMountPointB);
346 ASSERT_FALSE(test_path_b.empty()); 346 ASSERT_FALSE(test_path_b.empty());
347 MtabTestData test_data2[] = { 347 MtabTestData test_data2[] = {
348 MtabTestData(kDevice2, test_path_b.value(), kValidFS), 348 MtabTestData(kDevice5, test_path_b.value(), kValidFS),
349 }; 349 };
350 AppendToMtabAndRunLoop(test_data2, arraysize(test_data2)); 350 AppendToMtabAndRunLoop(test_data2, arraysize(test_data2));
351 351
352 // |kDevice1| should be detached as expected. 352 // |kDevice1| should be detached as expected.
353 EXPECT_CALL(observer(), OnRemovableStorageDetached(GetDeviceId(kDevice1))) 353 EXPECT_CALL(observer(), OnRemovableStorageDetached(GetDeviceId(kDevice1)))
354 .InSequence(mock_sequence); 354 .InSequence(mock_sequence);
kmadhusu 2012/08/29 01:12:02 We will also receive an attach and detach for kDev
vandebo (ex-Chrome) 2012/08/29 06:10:13 No we won't, device5 is not removable.
kmadhusu 2012/08/29 16:46:19 For readability, we should have better names for t
vandebo (ex-Chrome) 2012/08/29 17:04:39 Done.
355 WriteEmptyMtabAndRunLoop(); 355 WriteEmptyMtabAndRunLoop();
356
357 // |kDevice4| should be attached as expected.
358 EXPECT_CALL(observer(), OnRemovableStorageAttached(GetDeviceId(kDevice4),
359 GetDeviceName(kDevice4),
360 test_path_b.value()))
361 .InSequence(mock_sequence);
362 MtabTestData test_data3[] = {
363 MtabTestData(kDevice4, test_path_b.value(), kValidFS),
364 };
365 AppendToMtabAndRunLoop(test_data3, arraysize(test_data3));
366
367 // |kDevice4| should be detached as expected.
368 EXPECT_CALL(observer(), OnRemovableStorageDetached(GetDeviceId(kDevice4)))
369 .InSequence(mock_sequence);
370 WriteEmptyMtabAndRunLoop();
356 } 371 }
357 372
358 // More complicated test case with multiple devices on multiple mount points. 373 // More complicated test case with multiple devices on multiple mount points.
359 TEST_F(RemovableDeviceNotificationLinuxTest, SwapMountPoints) { 374 TEST_F(RemovableDeviceNotificationLinuxTest, SwapMountPoints) {
360 FilePath test_path_a = CreateMountPointWithDCIMDir(kMountPointA); 375 FilePath test_path_a = CreateMountPointWithDCIMDir(kMountPointA);
361 FilePath test_path_b = CreateMountPointWithDCIMDir(kMountPointB); 376 FilePath test_path_b = CreateMountPointWithDCIMDir(kMountPointB);
362 ASSERT_FALSE(test_path_a.empty()); 377 ASSERT_FALSE(test_path_a.empty());
363 ASSERT_FALSE(test_path_b.empty()); 378 ASSERT_FALSE(test_path_b.empty());
364 379
365 // Attach two devices. 380 // Attach two devices.
366 // kDevice1 -> kMountPointA 381 // kDevice1 -> kMountPointA *
367 // kDevice2 -> kMountPointB 382 // kDevice2 -> kMountPointB *
kmadhusu 2012/08/29 16:46:19 nit: It took a while for me to understand what "*"
vandebo (ex-Chrome) 2012/08/29 17:04:39 Done.
368 MtabTestData test_data1[] = { 383 MtabTestData test_data1[] = {
369 MtabTestData(kDevice1, test_path_a.value(), kValidFS), 384 MtabTestData(kDevice1, test_path_a.value(), kValidFS),
370 MtabTestData(kDevice2, test_path_b.value(), kValidFS), 385 MtabTestData(kDevice2, test_path_b.value(), kValidFS),
371 }; 386 };
372 EXPECT_CALL(observer(), OnRemovableStorageAttached(_, _, _)).Times(2); 387 EXPECT_CALL(observer(), OnRemovableStorageAttached(_, _, _)).Times(2);
373 EXPECT_CALL(observer(), OnRemovableStorageDetached(_)).Times(0); 388 EXPECT_CALL(observer(), OnRemovableStorageDetached(_)).Times(0);
374 AppendToMtabAndRunLoop(test_data1, arraysize(test_data1)); 389 AppendToMtabAndRunLoop(test_data1, arraysize(test_data1));
375 390
376 // Detach two devices from old mount points and attach the devices at new 391 // Detach two devices from old mount points and attach the devices at new
377 // mount points. 392 // mount points.
378 // kDevice1 -> kMountPointB 393 // kDevice1 -> kMountPointB *
379 // kDevice2 -> kMountPointA 394 // kDevice2 -> kMountPointA *
380 MtabTestData test_data2[] = { 395 MtabTestData test_data2[] = {
381 MtabTestData(kDevice1, test_path_b.value(), kValidFS), 396 MtabTestData(kDevice1, test_path_b.value(), kValidFS),
382 MtabTestData(kDevice2, test_path_a.value(), kValidFS), 397 MtabTestData(kDevice2, test_path_a.value(), kValidFS),
383 }; 398 };
384 EXPECT_CALL(observer(), OnRemovableStorageAttached(_, _, _)).Times(2); 399 EXPECT_CALL(observer(), OnRemovableStorageAttached(_, _, _)).Times(2);
385 EXPECT_CALL(observer(), OnRemovableStorageDetached(_)).Times(2); 400 EXPECT_CALL(observer(), OnRemovableStorageDetached(_)).Times(2);
386 OverwriteMtabAndRunLoop(test_data2, arraysize(test_data2)); 401 OverwriteMtabAndRunLoop(test_data2, arraysize(test_data2));
387 402
388 // Detach all devices. 403 // Detach all devices.
389 EXPECT_CALL(observer(), OnRemovableStorageAttached(_, _, _)).Times(0); 404 EXPECT_CALL(observer(), OnRemovableStorageAttached(_, _, _)).Times(0);
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
476 // Attach |kDevice1| to |kMountPointB|. 491 // Attach |kDevice1| to |kMountPointB|.
477 // kDevice1 -> kMountPointA * 492 // kDevice1 -> kMountPointA *
478 // kDevice1 -> kMountPointB 493 // kDevice1 -> kMountPointB
479 MtabTestData test_data2[] = { 494 MtabTestData test_data2[] = {
480 MtabTestData(kDevice1, test_path_b.value(), kValidFS), 495 MtabTestData(kDevice1, test_path_b.value(), kValidFS),
481 }; 496 };
482 EXPECT_CALL(observer(), OnRemovableStorageAttached(_, _, _)).Times(0); 497 EXPECT_CALL(observer(), OnRemovableStorageAttached(_, _, _)).Times(0);
483 EXPECT_CALL(observer(), OnRemovableStorageDetached(_)).Times(0); 498 EXPECT_CALL(observer(), OnRemovableStorageDetached(_)).Times(0);
484 AppendToMtabAndRunLoop(test_data2, arraysize(test_data2)); 499 AppendToMtabAndRunLoop(test_data2, arraysize(test_data2));
485 500
486 // Attach |kDevice4| (a non-DCIM device) to |kMountPointA|. 501 // Attach |kDevice5| (a non-removable device) to |kMountPointA|.
487 // kDevice1 -> kMountPointA 502 // kDevice1 -> kMountPointA
488 // kDevice1 -> kMountPointB * 503 // kDevice1 -> kMountPointB *
489 // kDevice4 -> kMountPointA 504 // kDevice5 -> kMountPointA
490 MtabTestData test_data3[] = { 505 MtabTestData test_data3[] = {
491 MtabTestData(kDevice4, test_path_a.value(), kValidFS), 506 MtabTestData(kDevice5, test_path_a.value(), kValidFS),
492 }; 507 };
493 EXPECT_CALL(observer(), OnRemovableStorageAttached(_, _, _)).Times(1); 508 EXPECT_CALL(observer(), OnRemovableStorageAttached(_, _, _)).Times(1);
494 EXPECT_CALL(observer(), OnRemovableStorageDetached(_)).Times(1); 509 EXPECT_CALL(observer(), OnRemovableStorageDetached(_)).Times(1);
495 RemoveDCIMDirFromMountPoint(kMountPointA); 510 RemoveDCIMDirFromMountPoint(kMountPointA);
496 AppendToMtabAndRunLoop(test_data3, arraysize(test_data3)); 511 AppendToMtabAndRunLoop(test_data3, arraysize(test_data3));
497 512
498 // Detach |kDevice4|. 513 // Detach |kDevice5|.
499 // kDevice1 -> kMountPointA 514 // kDevice1 -> kMountPointA
500 // kDevice1 -> kMountPointB * 515 // kDevice1 -> kMountPointB *
501 MtabTestData test_data4[] = { 516 MtabTestData test_data4[] = {
502 MtabTestData(kDevice1, test_path_a.value(), kValidFS), 517 MtabTestData(kDevice1, test_path_a.value(), kValidFS),
503 MtabTestData(kDevice1, test_path_b.value(), kValidFS), 518 MtabTestData(kDevice1, test_path_b.value(), kValidFS),
504 }; 519 };
505 EXPECT_CALL(observer(), OnRemovableStorageAttached(_, _, _)).Times(0); 520 EXPECT_CALL(observer(), OnRemovableStorageAttached(_, _, _)).Times(0);
506 EXPECT_CALL(observer(), OnRemovableStorageDetached(_)).Times(0); 521 EXPECT_CALL(observer(), OnRemovableStorageDetached(_)).Times(0);
522 CreateMountPointWithDCIMDir(kMountPointA);
507 OverwriteMtabAndRunLoop(test_data4, arraysize(test_data4)); 523 OverwriteMtabAndRunLoop(test_data4, arraysize(test_data4));
508 524
509 // Detach |kDevice1| from |kMountPointA|. 525 // Attach |kDevice4| (a non-DCIM device) to |kMountPointB|.
510 // kDevice1 -> kMountPointB * 526 // kDevice1 -> kMountPointA *
527 // kDevice1 -> kMountPointB
528 // kDevice4 -> kMountPointB *
529 MtabTestData test_data5[] = {
530 MtabTestData(kDevice4, test_path_b.value(), kValidFS),
531 };
532 EXPECT_CALL(observer(), OnRemovableStorageAttached(_, _, _)).Times(2);
533 EXPECT_CALL(observer(), OnRemovableStorageDetached(_)).Times(1);
534 file_util::Delete(test_path_b.Append("DCIM"), false);
535 AppendToMtabAndRunLoop(test_data5, arraysize(test_data5));
536
537 // Detach |kDevice4|.
538 // kDevice1 -> kMountPointA *
539 // kDevice1 -> kMountPointB
540 MtabTestData test_data6[] = {
541 MtabTestData(kDevice1, test_path_a.value(), kValidFS),
542 MtabTestData(kDevice1, test_path_b.value(), kValidFS),
543 };
544 EXPECT_CALL(observer(), OnRemovableStorageAttached(_, _, _)).Times(0);
545 EXPECT_CALL(observer(), OnRemovableStorageDetached(_)).Times(1);
546 CreateMountPointWithDCIMDir(kMountPointB);
547 OverwriteMtabAndRunLoop(test_data6, arraysize(test_data6));
548
549 // Detach |kDevice1| from |kMountPointB|.
550 // kDevice1 -> kMountPointA *
511 EXPECT_CALL(observer(), OnRemovableStorageAttached(_, _, _)).Times(0); 551 EXPECT_CALL(observer(), OnRemovableStorageAttached(_, _, _)).Times(0);
512 EXPECT_CALL(observer(), OnRemovableStorageDetached(_)).Times(0); 552 EXPECT_CALL(observer(), OnRemovableStorageDetached(_)).Times(0);
513 OverwriteMtabAndRunLoop(test_data2, arraysize(test_data2)); 553 OverwriteMtabAndRunLoop(test_data1, arraysize(test_data1));
514 554
515 // Detach all devices. 555 // Detach all devices.
516 EXPECT_CALL(observer(), OnRemovableStorageAttached(_, _, _)).Times(0); 556 EXPECT_CALL(observer(), OnRemovableStorageAttached(_, _, _)).Times(0);
517 EXPECT_CALL(observer(), OnRemovableStorageDetached(_)).Times(1); 557 EXPECT_CALL(observer(), OnRemovableStorageDetached(_)).Times(1);
518 WriteEmptyMtabAndRunLoop(); 558 WriteEmptyMtabAndRunLoop();
519 } 559 }
520 560
521 TEST_F(RemovableDeviceNotificationLinuxTest, MountLookUp) { 561 TEST_F(RemovableDeviceNotificationLinuxTest, MountLookUp) {
522 FilePath test_path_a = CreateMountPointWithDCIMDir(kMountPointA); 562 FilePath test_path_a = CreateMountPointWithDCIMDir(kMountPointA);
523 FilePath test_path_b = CreateMountPointWithoutDCIMDir(kMountPointB); 563 FilePath test_path_b = CreateMountPointWithoutDCIMDir(kMountPointB);
524 FilePath test_path_c = CreateMountPointWithoutDCIMDir(kMountPointC); 564 FilePath test_path_c = CreateMountPointWithoutDCIMDir(kMountPointC);
525 ASSERT_FALSE(test_path_a.empty()); 565 ASSERT_FALSE(test_path_a.empty());
526 ASSERT_FALSE(test_path_b.empty()); 566 ASSERT_FALSE(test_path_b.empty());
527 ASSERT_FALSE(test_path_c.empty()); 567 ASSERT_FALSE(test_path_c.empty());
528 568
529 // Attach to one first. 569 // Attach to one first.
530 // kDevice1 -> kMountPointA * 570 // kDevice1 -> kMountPointA *
531 // kDevice4 -> kMountPointB 571 // kDevice4 -> kMountPointB *
532 // kDevice5 -> kMountPointC 572 // kDevice5 -> kMountPointC
kmadhusu 2012/08/29 01:12:02 Why did you add a * in kMountPointB but not to kMo
vandebo (ex-Chrome) 2012/08/29 06:10:13 The mount points with *'s are the ones we've notif
533 MtabTestData test_data1[] = { 573 MtabTestData test_data1[] = {
534 MtabTestData(kDevice1, test_path_a.value(), kValidFS), 574 MtabTestData(kDevice1, test_path_a.value(), kValidFS),
535 MtabTestData(kDevice4, test_path_b.value(), kValidFS), 575 MtabTestData(kDevice4, test_path_b.value(), kValidFS),
536 MtabTestData(kDevice5, test_path_c.value(), kValidFS), 576 MtabTestData(kDevice5, test_path_c.value(), kValidFS),
537 }; 577 };
538 EXPECT_CALL(observer(), OnRemovableStorageAttached(_, _, _)).Times(1); 578 EXPECT_CALL(observer(), OnRemovableStorageAttached(_, _, _)).Times(2);
539 EXPECT_CALL(observer(), OnRemovableStorageDetached(_)).Times(0); 579 EXPECT_CALL(observer(), OnRemovableStorageDetached(_)).Times(0);
540 AppendToMtabAndRunLoop(test_data1, arraysize(test_data1)); 580 AppendToMtabAndRunLoop(test_data1, arraysize(test_data1));
541 581
542 EXPECT_EQ(test_path_a, 582 EXPECT_EQ(test_path_a,
543 notifier()->GetDeviceMountPoint(GetDeviceId(kDevice1))); 583 notifier()->GetDeviceMountPoint(GetDeviceId(kDevice1)));
544 EXPECT_EQ(test_path_b, 584 EXPECT_EQ(test_path_b,
545 notifier()->GetDeviceMountPoint(GetDeviceId(kDevice4))); 585 notifier()->GetDeviceMountPoint(GetDeviceId(kDevice4)));
546 EXPECT_EQ(test_path_c, 586 EXPECT_EQ(test_path_c,
547 notifier()->GetDeviceMountPoint(GetDeviceId(kDevice5))); 587 notifier()->GetDeviceMountPoint(GetDeviceId(kDevice5)));
548 EXPECT_EQ(FilePath(), 588 EXPECT_EQ(FilePath(),
549 notifier()->GetDeviceMountPoint(GetDeviceId(kInvalidDevice))); 589 notifier()->GetDeviceMountPoint(GetDeviceId(kInvalidDevice)));
550 590
551 // Make |kDevice1| mounted in multiple places. 591 // Make |kDevice1| mounted in multiple places.
552 // kDevice1 -> kMountPointA * 592 // kDevice1 -> kMountPointA *
553 // kDevice1 -> kMountPointB 593 // kDevice1 -> kMountPointB
554 // kDevice1 -> kMountPointC 594 // kDevice1 -> kMountPointC
555 MtabTestData test_data2[] = { 595 MtabTestData test_data2[] = {
556 MtabTestData(kDevice1, test_path_a.value(), kValidFS), 596 MtabTestData(kDevice1, test_path_a.value(), kValidFS),
557 MtabTestData(kDevice1, test_path_b.value(), kValidFS), 597 MtabTestData(kDevice1, test_path_b.value(), kValidFS),
558 MtabTestData(kDevice1, test_path_c.value(), kValidFS), 598 MtabTestData(kDevice1, test_path_c.value(), kValidFS),
559 }; 599 };
560 EXPECT_CALL(observer(), OnRemovableStorageAttached(_, _, _)).Times(0); 600 EXPECT_CALL(observer(), OnRemovableStorageAttached(_, _, _)).Times(0);
561 EXPECT_CALL(observer(), OnRemovableStorageDetached(_)).Times(0); 601 EXPECT_CALL(observer(), OnRemovableStorageDetached(_)).Times(1);
562 // Add DCIM dirs. 602 // Add DCIM dirs.
563 CreateMountPointWithDCIMDir(kMountPointB); 603 CreateMountPointWithDCIMDir(kMountPointB);
564 CreateMountPointWithDCIMDir(kMountPointC); 604 CreateMountPointWithDCIMDir(kMountPointC);
565 OverwriteMtabAndRunLoop(test_data2, arraysize(test_data2)); 605 OverwriteMtabAndRunLoop(test_data2, arraysize(test_data2));
566 606
567 EXPECT_EQ(test_path_a, 607 EXPECT_EQ(test_path_a,
568 notifier()->GetDeviceMountPoint(GetDeviceId(kDevice1))); 608 notifier()->GetDeviceMountPoint(GetDeviceId(kDevice1)));
569 609
570 // Unmount |kDevice1| from |kMountPointA|. 610 // Unmount |kDevice1| from |kMountPointA|.
571 // kDevice1 -> kMountPointB * 611 // kDevice1 -> kMountPointB *
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
607 TEST_F(RemovableDeviceNotificationLinuxTest, DeviceLookUp) { 647 TEST_F(RemovableDeviceNotificationLinuxTest, DeviceLookUp) {
608 FilePath test_path_a = CreateMountPointWithDCIMDir(kMountPointA); 648 FilePath test_path_a = CreateMountPointWithDCIMDir(kMountPointA);
609 FilePath test_path_b = CreateMountPointWithoutDCIMDir(kMountPointB); 649 FilePath test_path_b = CreateMountPointWithoutDCIMDir(kMountPointB);
610 FilePath test_path_c = CreateMountPointWithoutDCIMDir(kMountPointC); 650 FilePath test_path_c = CreateMountPointWithoutDCIMDir(kMountPointC);
611 ASSERT_FALSE(test_path_a.empty()); 651 ASSERT_FALSE(test_path_a.empty());
612 ASSERT_FALSE(test_path_b.empty()); 652 ASSERT_FALSE(test_path_b.empty());
613 ASSERT_FALSE(test_path_c.empty()); 653 ASSERT_FALSE(test_path_c.empty());
614 654
615 // Attach to one first. 655 // Attach to one first.
616 // kDevice1 -> kMountPointA * 656 // kDevice1 -> kMountPointA *
617 // kDevice4 -> kMountPointB 657 // kDevice4 -> kMountPointB *
618 // kDevice5 -> kMountPointC 658 // kDevice5 -> kMountPointC
kmadhusu 2012/08/29 01:12:02 nit: kMountPointC * ???
619 MtabTestData test_data1[] = { 659 MtabTestData test_data1[] = {
620 MtabTestData(kDevice1, test_path_a.value(), kValidFS), 660 MtabTestData(kDevice1, test_path_a.value(), kValidFS),
621 MtabTestData(kDevice4, test_path_b.value(), kValidFS), 661 MtabTestData(kDevice4, test_path_b.value(), kValidFS),
622 MtabTestData(kDevice5, test_path_c.value(), kValidFS), 662 MtabTestData(kDevice5, test_path_c.value(), kValidFS),
623 }; 663 };
624 EXPECT_CALL(observer(), OnRemovableStorageAttached(_, _, _)).Times(1); 664 EXPECT_CALL(observer(), OnRemovableStorageAttached(_, _, _)).Times(2);
625 EXPECT_CALL(observer(), OnRemovableStorageDetached(_)).Times(0); 665 EXPECT_CALL(observer(), OnRemovableStorageDetached(_)).Times(0);
626 AppendToMtabAndRunLoop(test_data1, arraysize(test_data1)); 666 AppendToMtabAndRunLoop(test_data1, arraysize(test_data1));
627 667
628 FilePath mount_point; 668 FilePath mount_point;
629 EXPECT_EQ(GetDeviceId(kDevice1), 669 EXPECT_EQ(GetDeviceId(kDevice1),
630 notifier()->GetDeviceIdForPath(test_path_a, &mount_point)); 670 notifier()->GetDeviceIdForPath(test_path_a, &mount_point));
631 EXPECT_EQ(test_path_a.value(), mount_point.value()); 671 EXPECT_EQ(test_path_a.value(), mount_point.value());
632 EXPECT_EQ(GetDeviceId(kDevice4), 672 EXPECT_EQ(GetDeviceId(kDevice4),
633 notifier()->GetDeviceIdForPath(test_path_b, &mount_point)); 673 notifier()->GetDeviceIdForPath(test_path_b, &mount_point));
634 EXPECT_EQ(test_path_b.value(), mount_point.value()); 674 EXPECT_EQ(test_path_b.value(), mount_point.value());
(...skipping 12 matching lines...) Expand all
647 // One device attached at multiple points. 687 // One device attached at multiple points.
648 // kDevice1 -> kMountPointA * 688 // kDevice1 -> kMountPointA *
649 // kDevice5 -> kMountPointB 689 // kDevice5 -> kMountPointB
650 // kDevice5 -> kMountPointC 690 // kDevice5 -> kMountPointC
651 MtabTestData test_data2[] = { 691 MtabTestData test_data2[] = {
652 MtabTestData(kDevice1, test_path_a.value(), kValidFS), 692 MtabTestData(kDevice1, test_path_a.value(), kValidFS),
653 MtabTestData(kDevice5, test_path_b.value(), kValidFS), 693 MtabTestData(kDevice5, test_path_b.value(), kValidFS),
654 MtabTestData(kDevice5, test_path_c.value(), kValidFS), 694 MtabTestData(kDevice5, test_path_c.value(), kValidFS),
655 }; 695 };
656 EXPECT_CALL(observer(), OnRemovableStorageAttached(_, _, _)).Times(0); 696 EXPECT_CALL(observer(), OnRemovableStorageAttached(_, _, _)).Times(0);
657 EXPECT_CALL(observer(), OnRemovableStorageDetached(_)).Times(0); 697 EXPECT_CALL(observer(), OnRemovableStorageDetached(_)).Times(1);
658 AppendToMtabAndRunLoop(test_data2, arraysize(test_data2)); 698 AppendToMtabAndRunLoop(test_data2, arraysize(test_data2));
659 699
660 EXPECT_EQ(GetDeviceId(kDevice1), 700 EXPECT_EQ(GetDeviceId(kDevice1),
661 notifier()->GetDeviceIdForPath(test_path_a, NULL)); 701 notifier()->GetDeviceIdForPath(test_path_a, NULL));
662 EXPECT_EQ(GetDeviceId(kDevice5), 702 EXPECT_EQ(GetDeviceId(kDevice5),
663 notifier()->GetDeviceIdForPath(test_path_b, NULL)); 703 notifier()->GetDeviceIdForPath(test_path_b, NULL));
664 EXPECT_EQ(GetDeviceId(kDevice5), 704 EXPECT_EQ(GetDeviceId(kDevice5),
665 notifier()->GetDeviceIdForPath(test_path_c, NULL)); 705 notifier()->GetDeviceIdForPath(test_path_c, NULL));
666 } 706 }
667 707
668 } // namespace 708 } // namespace
669 709
670 } // namespace chrome 710 } // namespace chrome
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698