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

Side by Side Diff: chrome/browser/chromeos/file_system_provider/provided_file_system_unittest.cc

Issue 663713002: [fsp] Extract ObservedEntry and ObservedEntries to a separate file. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git/+/master
Patch Set: Added missing files. Created 6 years, 2 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
OLDNEW
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/file_system_provider/provided_file_system.h" 5 #include "chrome/browser/chromeos/file_system_provider/provided_file_system.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/files/file.h" 10 #include "base/files/file.h"
11 #include "base/memory/ref_counted.h" 11 #include "base/memory/ref_counted.h"
12 #include "base/memory/scoped_ptr.h" 12 #include "base/memory/scoped_ptr.h"
13 #include "base/memory/scoped_vector.h" 13 #include "base/memory/scoped_vector.h"
14 #include "base/run_loop.h" 14 #include "base/run_loop.h"
15 #include "base/thread_task_runner_handle.h" 15 #include "base/thread_task_runner_handle.h"
16 #include "base/values.h" 16 #include "base/values.h"
17 #include "chrome/browser/chromeos/file_system_provider/mount_path_util.h" 17 #include "chrome/browser/chromeos/file_system_provider/mount_path_util.h"
18 #include "chrome/browser/chromeos/file_system_provider/notification_manager.h" 18 #include "chrome/browser/chromeos/file_system_provider/notification_manager.h"
19 #include "chrome/browser/chromeos/file_system_provider/observed_entry.h"
19 #include "chrome/browser/chromeos/file_system_provider/provided_file_system_info .h" 20 #include "chrome/browser/chromeos/file_system_provider/provided_file_system_info .h"
20 #include "chrome/browser/chromeos/file_system_provider/provided_file_system_inte rface.h" 21 #include "chrome/browser/chromeos/file_system_provider/provided_file_system_inte rface.h"
21 #include "chrome/browser/chromeos/file_system_provider/provided_file_system_obse rver.h" 22 #include "chrome/browser/chromeos/file_system_provider/provided_file_system_obse rver.h"
22 #include "chrome/browser/chromeos/file_system_provider/request_manager.h" 23 #include "chrome/browser/chromeos/file_system_provider/request_manager.h"
23 #include "chrome/common/extensions/api/file_system_provider.h" 24 #include "chrome/common/extensions/api/file_system_provider.h"
24 #include "chrome/common/extensions/api/file_system_provider_internal.h" 25 #include "chrome/common/extensions/api/file_system_provider_internal.h"
25 #include "chrome/test/base/testing_profile.h" 26 #include "chrome/test/base/testing_profile.h"
26 #include "content/public/test/test_browser_thread_bundle.h" 27 #include "content/public/test/test_browser_thread_bundle.h"
27 #include "extensions/browser/event_router.h" 28 #include "extensions/browser/event_router.h"
28 #include "testing/gtest/include/gtest/gtest.h" 29 #include "testing/gtest/include/gtest/gtest.h"
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 ProvidedFileSystemObserver::ChangeType change_type, 128 ProvidedFileSystemObserver::ChangeType change_type,
128 const ProvidedFileSystemObserver::ChildChanges& child_changes, 129 const ProvidedFileSystemObserver::ChildChanges& child_changes,
129 const base::Closure& callback) override { 130 const base::Closure& callback) override {
130 EXPECT_EQ(kFileSystemId, file_system_info.file_system_id()); 131 EXPECT_EQ(kFileSystemId, file_system_info.file_system_id());
131 change_events_.push_back(new ChangeEvent(change_type, child_changes)); 132 change_events_.push_back(new ChangeEvent(change_type, child_changes));
132 base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, callback); 133 base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, callback);
133 } 134 }
134 135
135 virtual void OnObservedEntryTagUpdated( 136 virtual void OnObservedEntryTagUpdated(
136 const ProvidedFileSystemInfo& file_system_info, 137 const ProvidedFileSystemInfo& file_system_info,
137 const base::FilePath& observed_path) override { 138 const base::FilePath& observed_path,
139 const std::string& tag) override {
138 EXPECT_EQ(kFileSystemId, file_system_info.file_system_id()); 140 EXPECT_EQ(kFileSystemId, file_system_info.file_system_id());
139 ++tag_updated_counter_; 141 ++tag_updated_counter_;
140 } 142 }
141 143
142 virtual void OnObservedEntryListChanged( 144 virtual void OnObservedEntryListChanged(
143 const ProvidedFileSystemInfo& file_system_info) override { 145 const ProvidedFileSystemInfo& file_system_info,
146 const ObservedEntries& observed_entries) override {
144 EXPECT_EQ(kFileSystemId, file_system_info.file_system_id()); 147 EXPECT_EQ(kFileSystemId, file_system_info.file_system_id());
145 ++list_changed_counter_; 148 ++list_changed_counter_;
146 } 149 }
147 150
148 int list_changed_counter() const { return list_changed_counter_; } 151 int list_changed_counter() const { return list_changed_counter_; }
149 const ScopedVector<ChangeEvent>& change_events() const { 152 const ScopedVector<ChangeEvent>& change_events() const {
150 return change_events_; 153 return change_events_;
151 } 154 }
152 int tag_updated_counter() const { return tag_updated_counter_; } 155 int tag_updated_counter() const { return tag_updated_counter_; }
153 156
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
285 provided_file_system_->ObserveDirectory( 288 provided_file_system_->ObserveDirectory(
286 base::FilePath::FromUTF8Unsafe(kDirectoryPath), 289 base::FilePath::FromUTF8Unsafe(kDirectoryPath),
287 false /* recursive */, 290 false /* recursive */,
288 base::Bind(&LogStatus, base::Unretained(&log))); 291 base::Bind(&LogStatus, base::Unretained(&log)));
289 base::RunLoop().RunUntilIdle(); 292 base::RunLoop().RunUntilIdle();
290 293
291 // The directory should not become observed because of an error. 294 // The directory should not become observed because of an error.
292 ASSERT_EQ(1u, log.size()); 295 ASSERT_EQ(1u, log.size());
293 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, log[0]); 296 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, log[0]);
294 297
295 ProvidedFileSystemInterface::ObservedEntries* const observed_entries = 298 ObservedEntries* const observed_entries =
296 provided_file_system_->GetObservedEntries(); 299 provided_file_system_->GetObservedEntries();
297 EXPECT_EQ(0u, observed_entries->size()); 300 EXPECT_EQ(0u, observed_entries->size());
298 301
299 // The observer should not be called. 302 // The observer should not be called.
300 EXPECT_EQ(0, observer.list_changed_counter()); 303 EXPECT_EQ(0, observer.list_changed_counter());
301 EXPECT_EQ(0, observer.tag_updated_counter()); 304 EXPECT_EQ(0, observer.tag_updated_counter());
302 305
303 provided_file_system_->RemoveObserver(&observer); 306 provided_file_system_->RemoveObserver(&observer);
304 } 307 }
305 308
306 TEST_F(FileSystemProviderProvidedFileSystemTest, ObserveDirectory) { 309 TEST_F(FileSystemProviderProvidedFileSystemTest, ObserveDirectory) {
307 Log log; 310 Log log;
308 Observer observer; 311 Observer observer;
309 312
310 provided_file_system_->AddObserver(&observer); 313 provided_file_system_->AddObserver(&observer);
311 314
312 provided_file_system_->ObserveDirectory( 315 provided_file_system_->ObserveDirectory(
313 base::FilePath::FromUTF8Unsafe(kDirectoryPath), 316 base::FilePath::FromUTF8Unsafe(kDirectoryPath),
314 false /* recursive */, 317 false /* recursive */,
315 base::Bind(&LogStatus, base::Unretained(&log))); 318 base::Bind(&LogStatus, base::Unretained(&log)));
316 base::RunLoop().RunUntilIdle(); 319 base::RunLoop().RunUntilIdle();
317 320
318 ASSERT_EQ(1u, log.size()); 321 ASSERT_EQ(1u, log.size());
319 EXPECT_EQ(base::File::FILE_OK, log[0]); 322 EXPECT_EQ(base::File::FILE_OK, log[0]);
320 EXPECT_EQ(1, observer.list_changed_counter()); 323 EXPECT_EQ(1, observer.list_changed_counter());
321 EXPECT_EQ(0, observer.tag_updated_counter()); 324 EXPECT_EQ(0, observer.tag_updated_counter());
322 325
323 ProvidedFileSystemInterface::ObservedEntries* const observed_entries = 326 ObservedEntries* const observed_entries =
324 provided_file_system_->GetObservedEntries(); 327 provided_file_system_->GetObservedEntries();
325 ASSERT_EQ(1u, observed_entries->size()); 328 ASSERT_EQ(1u, observed_entries->size());
326 const ProvidedFileSystemInterface::ObservedEntry& observed_entry = 329 const ObservedEntry& observed_entry = observed_entries->begin()->second;
327 observed_entries->begin()->second;
328 EXPECT_EQ(kDirectoryPath, observed_entry.entry_path.value()); 330 EXPECT_EQ(kDirectoryPath, observed_entry.entry_path.value());
329 EXPECT_FALSE(observed_entry.recursive); 331 EXPECT_FALSE(observed_entry.recursive);
330 EXPECT_EQ("", observed_entry.last_tag); 332 EXPECT_EQ("", observed_entry.last_tag);
331 333
332 provided_file_system_->RemoveObserver(&observer); 334 provided_file_system_->RemoveObserver(&observer);
333 } 335 }
334 336
335 TEST_F(FileSystemProviderProvidedFileSystemTest, ObserveDirectory_Exists) { 337 TEST_F(FileSystemProviderProvidedFileSystemTest, ObserveDirectory_Exists) {
336 Observer observer; 338 Observer observer;
337 provided_file_system_->AddObserver(&observer); 339 provided_file_system_->AddObserver(&observer);
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
375 base::FilePath::FromUTF8Unsafe(kDirectoryPath), 377 base::FilePath::FromUTF8Unsafe(kDirectoryPath),
376 true /* recursive */, 378 true /* recursive */,
377 base::Bind(&LogStatus, base::Unretained(&log))); 379 base::Bind(&LogStatus, base::Unretained(&log)));
378 base::RunLoop().RunUntilIdle(); 380 base::RunLoop().RunUntilIdle();
379 381
380 ASSERT_EQ(1u, log.size()); 382 ASSERT_EQ(1u, log.size());
381 EXPECT_EQ(base::File::FILE_OK, log[0]); 383 EXPECT_EQ(base::File::FILE_OK, log[0]);
382 EXPECT_EQ(2, observer.list_changed_counter()); 384 EXPECT_EQ(2, observer.list_changed_counter());
383 EXPECT_EQ(0, observer.tag_updated_counter()); 385 EXPECT_EQ(0, observer.tag_updated_counter());
384 386
385 ProvidedFileSystemInterface::ObservedEntries* const observed_entries = 387 ObservedEntries* const observed_entries =
386 provided_file_system_->GetObservedEntries(); 388 provided_file_system_->GetObservedEntries();
387 ASSERT_EQ(1u, observed_entries->size()); 389 ASSERT_EQ(1u, observed_entries->size());
388 const ProvidedFileSystemInterface::ObservedEntry& observed_entry = 390 const ObservedEntry& observed_entry = observed_entries->begin()->second;
389 observed_entries->begin()->second;
390 EXPECT_EQ(kDirectoryPath, observed_entry.entry_path.value()); 391 EXPECT_EQ(kDirectoryPath, observed_entry.entry_path.value());
391 EXPECT_TRUE(observed_entry.recursive); 392 EXPECT_TRUE(observed_entry.recursive);
392 EXPECT_EQ("", observed_entry.last_tag); 393 EXPECT_EQ("", observed_entry.last_tag);
393 } 394 }
394 395
395 { 396 {
396 // Lastly, create another recursive observer. That should fail, too. 397 // Lastly, create another recursive observer. That should fail, too.
397 Log log; 398 Log log;
398 provided_file_system_->ObserveDirectory( 399 provided_file_system_->ObserveDirectory(
399 base::FilePath::FromUTF8Unsafe(kDirectoryPath), 400 base::FilePath::FromUTF8Unsafe(kDirectoryPath),
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
436 base::FilePath::FromUTF8Unsafe(kDirectoryPath), 437 base::FilePath::FromUTF8Unsafe(kDirectoryPath),
437 false /* recursive */, 438 false /* recursive */,
438 base::Bind(&LogStatus, base::Unretained(&log))); 439 base::Bind(&LogStatus, base::Unretained(&log)));
439 base::RunLoop().RunUntilIdle(); 440 base::RunLoop().RunUntilIdle();
440 441
441 ASSERT_EQ(1u, log.size()); 442 ASSERT_EQ(1u, log.size());
442 EXPECT_EQ(base::File::FILE_OK, log[0]); 443 EXPECT_EQ(base::File::FILE_OK, log[0]);
443 EXPECT_EQ(1, observer.list_changed_counter()); 444 EXPECT_EQ(1, observer.list_changed_counter());
444 EXPECT_EQ(0, observer.tag_updated_counter()); 445 EXPECT_EQ(0, observer.tag_updated_counter());
445 446
446 ProvidedFileSystemInterface::ObservedEntries* const observed_entries = 447 ObservedEntries* const observed_entries =
447 provided_file_system_->GetObservedEntries(); 448 provided_file_system_->GetObservedEntries();
448 EXPECT_EQ(1u, observed_entries->size()); 449 EXPECT_EQ(1u, observed_entries->size());
449 } 450 }
450 451
451 { 452 {
452 // Unobserve it gracefully. 453 // Unobserve it gracefully.
453 Log log; 454 Log log;
454 provided_file_system_->UnobserveEntry( 455 provided_file_system_->UnobserveEntry(
455 base::FilePath::FromUTF8Unsafe(kDirectoryPath), 456 base::FilePath::FromUTF8Unsafe(kDirectoryPath),
456 base::Bind(&LogStatus, base::Unretained(&log))); 457 base::Bind(&LogStatus, base::Unretained(&log)));
457 base::RunLoop().RunUntilIdle(); 458 base::RunLoop().RunUntilIdle();
458 459
459 ASSERT_EQ(1u, log.size()); 460 ASSERT_EQ(1u, log.size());
460 EXPECT_EQ(base::File::FILE_OK, log[0]); 461 EXPECT_EQ(base::File::FILE_OK, log[0]);
461 EXPECT_EQ(2, observer.list_changed_counter()); 462 EXPECT_EQ(2, observer.list_changed_counter());
462 EXPECT_EQ(0, observer.tag_updated_counter()); 463 EXPECT_EQ(0, observer.tag_updated_counter());
463 464
464 ProvidedFileSystemInterface::ObservedEntries* const observed_entries = 465 ObservedEntries* const observed_entries =
465 provided_file_system_->GetObservedEntries(); 466 provided_file_system_->GetObservedEntries();
466 EXPECT_EQ(0u, observed_entries->size()); 467 EXPECT_EQ(0u, observed_entries->size());
467 } 468 }
468 469
469 { 470 {
470 // Confirm that it's possible to observe it again. 471 // Confirm that it's possible to observe it again.
471 Log log; 472 Log log;
472 provided_file_system_->ObserveDirectory( 473 provided_file_system_->ObserveDirectory(
473 base::FilePath::FromUTF8Unsafe(kDirectoryPath), 474 base::FilePath::FromUTF8Unsafe(kDirectoryPath),
474 false /* recursive */, 475 false /* recursive */,
475 base::Bind(&LogStatus, base::Unretained(&log))); 476 base::Bind(&LogStatus, base::Unretained(&log)));
476 base::RunLoop().RunUntilIdle(); 477 base::RunLoop().RunUntilIdle();
477 478
478 ASSERT_EQ(1u, log.size()); 479 ASSERT_EQ(1u, log.size());
479 EXPECT_EQ(base::File::FILE_OK, log[0]); 480 EXPECT_EQ(base::File::FILE_OK, log[0]);
480 EXPECT_EQ(3, observer.list_changed_counter()); 481 EXPECT_EQ(3, observer.list_changed_counter());
481 EXPECT_EQ(0, observer.tag_updated_counter()); 482 EXPECT_EQ(0, observer.tag_updated_counter());
482 483
483 ProvidedFileSystemInterface::ObservedEntries* const observed_entries = 484 ObservedEntries* const observed_entries =
484 provided_file_system_->GetObservedEntries(); 485 provided_file_system_->GetObservedEntries();
485 EXPECT_EQ(1u, observed_entries->size()); 486 EXPECT_EQ(1u, observed_entries->size());
486 } 487 }
487 488
488 { 489 {
489 // Finally, unobserve it, but with an error from extension. That should 490 // Finally, unobserve it, but with an error from extension. That should
490 // result 491 // result
491 // in a removed observer, anyway. 492 // in a removed observer, anyway.
492 event_router_->set_reply_result(base::File::FILE_ERROR_FAILED); 493 event_router_->set_reply_result(base::File::FILE_ERROR_FAILED);
493 494
494 Log log; 495 Log log;
495 provided_file_system_->UnobserveEntry( 496 provided_file_system_->UnobserveEntry(
496 base::FilePath::FromUTF8Unsafe(kDirectoryPath), 497 base::FilePath::FromUTF8Unsafe(kDirectoryPath),
497 base::Bind(&LogStatus, base::Unretained(&log))); 498 base::Bind(&LogStatus, base::Unretained(&log)));
498 base::RunLoop().RunUntilIdle(); 499 base::RunLoop().RunUntilIdle();
499 500
500 ASSERT_EQ(1u, log.size()); 501 ASSERT_EQ(1u, log.size());
501 EXPECT_EQ(base::File::FILE_ERROR_FAILED, log[0]); 502 EXPECT_EQ(base::File::FILE_ERROR_FAILED, log[0]);
502 EXPECT_EQ(4, observer.list_changed_counter()); 503 EXPECT_EQ(4, observer.list_changed_counter());
503 EXPECT_EQ(0, observer.tag_updated_counter()); 504 EXPECT_EQ(0, observer.tag_updated_counter());
504 505
505 ProvidedFileSystemInterface::ObservedEntries* const observed_entries = 506 ObservedEntries* const observed_entries =
506 provided_file_system_->GetObservedEntries(); 507 provided_file_system_->GetObservedEntries();
507 EXPECT_EQ(0u, observed_entries->size()); 508 EXPECT_EQ(0u, observed_entries->size());
508 } 509 }
509 510
510 provided_file_system_->RemoveObserver(&observer); 511 provided_file_system_->RemoveObserver(&observer);
511 } 512 }
512 513
513 TEST_F(FileSystemProviderProvidedFileSystemTest, Notify) { 514 TEST_F(FileSystemProviderProvidedFileSystemTest, Notify) {
514 Observer observer; 515 Observer observer;
515 provided_file_system_->AddObserver(&observer); 516 provided_file_system_->AddObserver(&observer);
516 517
517 { 518 {
518 // Observe a directory. 519 // Observe a directory.
519 Log log; 520 Log log;
520 provided_file_system_->ObserveDirectory( 521 provided_file_system_->ObserveDirectory(
521 base::FilePath::FromUTF8Unsafe(kDirectoryPath), 522 base::FilePath::FromUTF8Unsafe(kDirectoryPath),
522 false /* recursive */, 523 false /* recursive */,
523 base::Bind(&LogStatus, base::Unretained(&log))); 524 base::Bind(&LogStatus, base::Unretained(&log)));
524 base::RunLoop().RunUntilIdle(); 525 base::RunLoop().RunUntilIdle();
525 526
526 ASSERT_EQ(1u, log.size()); 527 ASSERT_EQ(1u, log.size());
527 EXPECT_EQ(base::File::FILE_OK, log[0]); 528 EXPECT_EQ(base::File::FILE_OK, log[0]);
528 EXPECT_EQ(1, observer.list_changed_counter()); 529 EXPECT_EQ(1, observer.list_changed_counter());
529 EXPECT_EQ(0, observer.tag_updated_counter()); 530 EXPECT_EQ(0, observer.tag_updated_counter());
530 531
531 ProvidedFileSystemInterface::ObservedEntries* const observed_entries = 532 ObservedEntries* const observed_entries =
532 provided_file_system_->GetObservedEntries(); 533 provided_file_system_->GetObservedEntries();
533 EXPECT_EQ(1u, observed_entries->size()); 534 EXPECT_EQ(1u, observed_entries->size());
534 provided_file_system_->GetObservedEntries(); 535 provided_file_system_->GetObservedEntries();
535 EXPECT_EQ("", observed_entries->begin()->second.last_tag); 536 EXPECT_EQ("", observed_entries->begin()->second.last_tag);
536 } 537 }
537 538
538 { 539 {
539 // Notify about a change. 540 // Notify about a change.
540 const ProvidedFileSystemObserver::ChangeType change_type = 541 const ProvidedFileSystemObserver::ChangeType change_type =
541 ProvidedFileSystemObserver::CHANGED; 542 ProvidedFileSystemObserver::CHANGED;
542 const std::string tag = "hello-world"; 543 const std::string tag = "hello-world";
543 EXPECT_TRUE(provided_file_system_->Notify( 544 EXPECT_TRUE(provided_file_system_->Notify(
544 base::FilePath::FromUTF8Unsafe(kDirectoryPath), 545 base::FilePath::FromUTF8Unsafe(kDirectoryPath),
545 change_type, 546 change_type,
546 make_scoped_ptr(new ProvidedFileSystemObserver::ChildChanges), 547 make_scoped_ptr(new ProvidedFileSystemObserver::ChildChanges),
547 tag)); 548 tag));
548 549
549 // Verify the observer event. 550 // Verify the observer event.
550 ASSERT_EQ(1u, observer.change_events().size()); 551 ASSERT_EQ(1u, observer.change_events().size());
551 const Observer::ChangeEvent* const change_event = 552 const Observer::ChangeEvent* const change_event =
552 observer.change_events()[0]; 553 observer.change_events()[0];
553 EXPECT_EQ(change_type, change_event->change_type()); 554 EXPECT_EQ(change_type, change_event->change_type());
554 EXPECT_EQ(0u, change_event->child_changes().size()); 555 EXPECT_EQ(0u, change_event->child_changes().size());
555 556
556 // The tag should not be updated in advance, before all observers handle 557 // The tag should not be updated in advance, before all observers handle
557 // the notification. 558 // the notification.
558 ProvidedFileSystemInterface::ObservedEntries* const observed_entries = 559 ObservedEntries* const observed_entries =
559 provided_file_system_->GetObservedEntries(); 560 provided_file_system_->GetObservedEntries();
560 EXPECT_EQ(1u, observed_entries->size()); 561 EXPECT_EQ(1u, observed_entries->size());
561 provided_file_system_->GetObservedEntries(); 562 provided_file_system_->GetObservedEntries();
562 EXPECT_EQ("", observed_entries->begin()->second.last_tag); 563 EXPECT_EQ("", observed_entries->begin()->second.last_tag);
563 564
564 // Wait until all observers finish handling the notification. 565 // Wait until all observers finish handling the notification.
565 base::RunLoop().RunUntilIdle(); 566 base::RunLoop().RunUntilIdle();
566 567
567 // Confirm, that the entry is still being observed, and that the tag is 568 // Confirm, that the entry is still being observed, and that the tag is
568 // updated. 569 // updated.
(...skipping 19 matching lines...) Expand all
588 // Verify the observer event. 589 // Verify the observer event.
589 ASSERT_EQ(2u, observer.change_events().size()); 590 ASSERT_EQ(2u, observer.change_events().size());
590 const Observer::ChangeEvent* const change_event = 591 const Observer::ChangeEvent* const change_event =
591 observer.change_events()[1]; 592 observer.change_events()[1];
592 EXPECT_EQ(change_type, change_event->change_type()); 593 EXPECT_EQ(change_type, change_event->change_type());
593 EXPECT_EQ(0u, change_event->child_changes().size()); 594 EXPECT_EQ(0u, change_event->child_changes().size());
594 } 595 }
595 596
596 // Confirm, that the entry is not observed anymore. 597 // Confirm, that the entry is not observed anymore.
597 { 598 {
598 ProvidedFileSystemInterface::ObservedEntries* const observed_entries = 599 ObservedEntries* const observed_entries =
599 provided_file_system_->GetObservedEntries(); 600 provided_file_system_->GetObservedEntries();
600 EXPECT_EQ(0u, observed_entries->size()); 601 EXPECT_EQ(0u, observed_entries->size());
601 EXPECT_EQ(2, observer.list_changed_counter()); 602 EXPECT_EQ(2, observer.list_changed_counter());
602 EXPECT_EQ(2, observer.tag_updated_counter()); 603 EXPECT_EQ(2, observer.tag_updated_counter());
603 } 604 }
604 605
605 provided_file_system_->RemoveObserver(&observer); 606 provided_file_system_->RemoveObserver(&observer);
606 } 607 }
607 608
608 } // namespace file_system_provider 609 } // namespace file_system_provider
609 } // namespace chromeos 610 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698