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/file_system_provider/request_manager.h" | 5 #include "chrome/browser/chromeos/file_system_provider/request_manager.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
370 | 370 |
371 const std::vector<int> active_request_ids = | 371 const std::vector<int> active_request_ids = |
372 request_manager_->GetActiveRequestIds(); | 372 request_manager_->GetActiveRequestIds(); |
373 ASSERT_EQ(1u, active_request_ids.size()); | 373 ASSERT_EQ(1u, active_request_ids.size()); |
374 EXPECT_EQ(request_id, active_request_ids[0]); | 374 EXPECT_EQ(request_id, active_request_ids[0]); |
375 | 375 |
376 scoped_ptr<RequestValue> response( | 376 scoped_ptr<RequestValue> response( |
377 RequestValue::CreateForTesting("i-like-vanilla")); | 377 RequestValue::CreateForTesting("i-like-vanilla")); |
378 const bool has_more = false; | 378 const bool has_more = false; |
379 | 379 |
380 bool result = | 380 const base::File::Error result = |
381 request_manager_->FulfillRequest(request_id, response.Pass(), has_more); | 381 request_manager_->FulfillRequest(request_id, response.Pass(), has_more); |
382 EXPECT_TRUE(result); | 382 EXPECT_EQ(base::File::FILE_OK, result); |
383 | 383 |
384 ASSERT_EQ(1u, observer.fulfilled().size()); | 384 ASSERT_EQ(1u, observer.fulfilled().size()); |
385 EXPECT_EQ(request_id, observer.fulfilled()[0].request_id()); | 385 EXPECT_EQ(request_id, observer.fulfilled()[0].request_id()); |
386 EXPECT_FALSE(observer.fulfilled()[0].has_more()); | 386 EXPECT_FALSE(observer.fulfilled()[0].has_more()); |
387 | 387 |
388 // Validate if the callback has correct arguments. | 388 // Validate if the callback has correct arguments. |
389 ASSERT_EQ(1u, logger.success_events().size()); | 389 ASSERT_EQ(1u, logger.success_events().size()); |
390 EXPECT_EQ(0u, logger.error_events().size()); | 390 EXPECT_EQ(0u, logger.error_events().size()); |
391 EventLogger::SuccessEvent* event = logger.success_events()[0]; | 391 EventLogger::SuccessEvent* event = logger.success_events()[0]; |
392 ASSERT_TRUE(event->result()); | 392 ASSERT_TRUE(event->result()); |
393 const std::string* response_test_string = event->result()->testing_params(); | 393 const std::string* response_test_string = event->result()->testing_params(); |
394 ASSERT_TRUE(response_test_string); | 394 ASSERT_TRUE(response_test_string); |
395 EXPECT_EQ("i-like-vanilla", *response_test_string); | 395 EXPECT_EQ("i-like-vanilla", *response_test_string); |
396 EXPECT_FALSE(event->has_more()); | 396 EXPECT_FALSE(event->has_more()); |
397 | 397 |
398 // Confirm, that the request is removed. Basically, fulfilling again for the | 398 // Confirm, that the request is removed. Basically, fulfilling again for the |
399 // same request, should fail. | 399 // same request, should fail. |
400 { | 400 { |
401 const std::vector<int> active_request_ids = | 401 const std::vector<int> active_request_ids = |
402 request_manager_->GetActiveRequestIds(); | 402 request_manager_->GetActiveRequestIds(); |
403 EXPECT_EQ(0u, active_request_ids.size()); | 403 EXPECT_EQ(0u, active_request_ids.size()); |
404 | 404 |
405 bool retry = request_manager_->FulfillRequest( | 405 const base::File::Error retry = request_manager_->FulfillRequest( |
406 request_id, scoped_ptr<RequestValue>(new RequestValue), has_more); | 406 request_id, scoped_ptr<RequestValue>(new RequestValue), has_more); |
407 EXPECT_FALSE(retry); | 407 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, retry); |
408 EXPECT_EQ(1u, observer.fulfilled().size()); | 408 EXPECT_EQ(1u, observer.fulfilled().size()); |
409 } | 409 } |
410 | 410 |
411 // Rejecting should also fail. | 411 // Rejecting should also fail. |
412 { | 412 { |
413 bool retry = request_manager_->RejectRequest( | 413 const base::File::Error retry = request_manager_->RejectRequest( |
414 request_id, | 414 request_id, scoped_ptr<RequestValue>(new RequestValue()), |
415 scoped_ptr<RequestValue>(new RequestValue()), | |
416 base::File::FILE_ERROR_FAILED); | 415 base::File::FILE_ERROR_FAILED); |
417 EXPECT_FALSE(retry); | 416 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, retry); |
418 EXPECT_EQ(0u, observer.rejected().size()); | 417 EXPECT_EQ(0u, observer.rejected().size()); |
419 } | 418 } |
420 | 419 |
421 ASSERT_EQ(1u, observer.destroyed().size()); | 420 ASSERT_EQ(1u, observer.destroyed().size()); |
422 EXPECT_EQ(request_id, observer.destroyed()[0].request_id()); | 421 EXPECT_EQ(request_id, observer.destroyed()[0].request_id()); |
423 EXPECT_EQ(0u, observer.timeouted().size()); | 422 EXPECT_EQ(0u, observer.timeouted().size()); |
424 | 423 |
425 request_manager_->RemoveObserver(&observer); | 424 request_manager_->RemoveObserver(&observer); |
426 } | 425 } |
427 | 426 |
(...skipping 13 matching lines...) Expand all Loading... |
441 | 440 |
442 ASSERT_EQ(1u, observer.created().size()); | 441 ASSERT_EQ(1u, observer.created().size()); |
443 EXPECT_EQ(request_id, observer.created()[0].request_id()); | 442 EXPECT_EQ(request_id, observer.created()[0].request_id()); |
444 EXPECT_EQ(TESTING, observer.created()[0].type()); | 443 EXPECT_EQ(TESTING, observer.created()[0].type()); |
445 | 444 |
446 ASSERT_EQ(1u, observer.executed().size()); | 445 ASSERT_EQ(1u, observer.executed().size()); |
447 EXPECT_EQ(request_id, observer.executed()[0].request_id()); | 446 EXPECT_EQ(request_id, observer.executed()[0].request_id()); |
448 | 447 |
449 const bool has_more = true; | 448 const bool has_more = true; |
450 | 449 |
451 bool result = request_manager_->FulfillRequest( | 450 const base::File::Error result = request_manager_->FulfillRequest( |
452 request_id, scoped_ptr<RequestValue>(new RequestValue), has_more); | 451 request_id, scoped_ptr<RequestValue>(new RequestValue), has_more); |
453 EXPECT_TRUE(result); | 452 EXPECT_EQ(base::File::FILE_OK, result); |
454 | 453 |
455 // Validate if the callback has correct arguments. | 454 // Validate if the callback has correct arguments. |
456 ASSERT_EQ(1u, logger.success_events().size()); | 455 ASSERT_EQ(1u, logger.success_events().size()); |
457 EXPECT_EQ(0u, logger.error_events().size()); | 456 EXPECT_EQ(0u, logger.error_events().size()); |
458 EventLogger::SuccessEvent* event = logger.success_events()[0]; | 457 EventLogger::SuccessEvent* event = logger.success_events()[0]; |
459 EXPECT_TRUE(event->result()); | 458 EXPECT_TRUE(event->result()); |
460 EXPECT_TRUE(event->has_more()); | 459 EXPECT_TRUE(event->has_more()); |
461 | 460 |
462 ASSERT_EQ(1u, observer.fulfilled().size()); | 461 ASSERT_EQ(1u, observer.fulfilled().size()); |
463 EXPECT_EQ(request_id, observer.fulfilled()[0].request_id()); | 462 EXPECT_EQ(request_id, observer.fulfilled()[0].request_id()); |
464 EXPECT_TRUE(observer.fulfilled()[0].has_more()); | 463 EXPECT_TRUE(observer.fulfilled()[0].has_more()); |
465 | 464 |
466 // Confirm, that the request is not removed (since it has has_more == true). | 465 // Confirm, that the request is not removed (since it has has_more == true). |
467 // Basically, fulfilling again for the same request, should not fail. | 466 // Basically, fulfilling again for the same request, should not fail. |
468 { | 467 { |
469 const std::vector<int> active_request_ids = | 468 const std::vector<int> active_request_ids = |
470 request_manager_->GetActiveRequestIds(); | 469 request_manager_->GetActiveRequestIds(); |
471 ASSERT_EQ(1u, active_request_ids.size()); | 470 ASSERT_EQ(1u, active_request_ids.size()); |
472 EXPECT_EQ(request_id, active_request_ids[0]); | 471 EXPECT_EQ(request_id, active_request_ids[0]); |
473 | 472 |
474 bool new_has_more = false; | 473 const bool new_has_more = false; |
475 bool retry = request_manager_->FulfillRequest( | 474 const base::File::Error retry = request_manager_->FulfillRequest( |
476 request_id, scoped_ptr<RequestValue>(new RequestValue), new_has_more); | 475 request_id, scoped_ptr<RequestValue>(new RequestValue), new_has_more); |
477 EXPECT_TRUE(retry); | 476 EXPECT_EQ(base::File::FILE_OK, retry); |
478 | 477 |
479 ASSERT_EQ(2u, observer.fulfilled().size()); | 478 ASSERT_EQ(2u, observer.fulfilled().size()); |
480 EXPECT_EQ(request_id, observer.fulfilled()[1].request_id()); | 479 EXPECT_EQ(request_id, observer.fulfilled()[1].request_id()); |
481 EXPECT_FALSE(observer.fulfilled()[1].has_more()); | 480 EXPECT_FALSE(observer.fulfilled()[1].has_more()); |
482 } | 481 } |
483 | 482 |
484 // Since |new_has_more| is false, then the request should be removed. To check | 483 // Since |new_has_more| is false, then the request should be removed. To check |
485 // it, try to fulfill again, what should fail. | 484 // it, try to fulfill again, what should fail. |
486 { | 485 { |
487 const std::vector<int> active_request_ids = | 486 const std::vector<int> active_request_ids = |
488 request_manager_->GetActiveRequestIds(); | 487 request_manager_->GetActiveRequestIds(); |
489 EXPECT_EQ(0u, active_request_ids.size()); | 488 EXPECT_EQ(0u, active_request_ids.size()); |
490 | 489 |
491 bool new_has_more = false; | 490 const bool new_has_more = false; |
492 bool retry = request_manager_->FulfillRequest( | 491 const base::File::Error retry = request_manager_->FulfillRequest( |
493 request_id, scoped_ptr<RequestValue>(new RequestValue), new_has_more); | 492 request_id, scoped_ptr<RequestValue>(new RequestValue), new_has_more); |
494 EXPECT_FALSE(retry); | 493 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, retry); |
495 EXPECT_EQ(0u, observer.rejected().size()); | 494 EXPECT_EQ(0u, observer.rejected().size()); |
496 } | 495 } |
497 | 496 |
498 ASSERT_EQ(1u, observer.destroyed().size()); | 497 ASSERT_EQ(1u, observer.destroyed().size()); |
499 EXPECT_EQ(request_id, observer.destroyed()[0].request_id()); | 498 EXPECT_EQ(request_id, observer.destroyed()[0].request_id()); |
500 EXPECT_EQ(0u, observer.timeouted().size()); | 499 EXPECT_EQ(0u, observer.timeouted().size()); |
501 | 500 |
502 request_manager_->RemoveObserver(&observer); | 501 request_manager_->RemoveObserver(&observer); |
503 } | 502 } |
504 | 503 |
(...skipping 11 matching lines...) Expand all Loading... |
516 EXPECT_EQ(0u, logger.success_events().size()); | 515 EXPECT_EQ(0u, logger.success_events().size()); |
517 EXPECT_EQ(0u, logger.error_events().size()); | 516 EXPECT_EQ(0u, logger.error_events().size()); |
518 | 517 |
519 ASSERT_EQ(1u, observer.created().size()); | 518 ASSERT_EQ(1u, observer.created().size()); |
520 EXPECT_EQ(request_id, observer.created()[0].request_id()); | 519 EXPECT_EQ(request_id, observer.created()[0].request_id()); |
521 EXPECT_EQ(TESTING, observer.created()[0].type()); | 520 EXPECT_EQ(TESTING, observer.created()[0].type()); |
522 | 521 |
523 ASSERT_EQ(1u, observer.executed().size()); | 522 ASSERT_EQ(1u, observer.executed().size()); |
524 EXPECT_EQ(request_id, observer.executed()[0].request_id()); | 523 EXPECT_EQ(request_id, observer.executed()[0].request_id()); |
525 | 524 |
526 base::File::Error error = base::File::FILE_ERROR_NO_MEMORY; | 525 const base::File::Error error = base::File::FILE_ERROR_NO_MEMORY; |
527 bool result = request_manager_->RejectRequest( | 526 const base::File::Error result = request_manager_->RejectRequest( |
528 request_id, scoped_ptr<RequestValue>(new RequestValue()), error); | 527 request_id, scoped_ptr<RequestValue>(new RequestValue()), error); |
529 EXPECT_TRUE(result); | 528 EXPECT_EQ(base::File::FILE_OK, result); |
530 | 529 |
531 // Validate if the callback has correct arguments. | 530 // Validate if the callback has correct arguments. |
532 ASSERT_EQ(1u, logger.error_events().size()); | 531 ASSERT_EQ(1u, logger.error_events().size()); |
533 EXPECT_EQ(0u, logger.success_events().size()); | 532 EXPECT_EQ(0u, logger.success_events().size()); |
534 EventLogger::ErrorEvent* event = logger.error_events()[0]; | 533 EventLogger::ErrorEvent* event = logger.error_events()[0]; |
535 EXPECT_EQ(error, event->error()); | 534 EXPECT_EQ(error, event->error()); |
536 | 535 |
537 ASSERT_EQ(1u, observer.rejected().size()); | 536 ASSERT_EQ(1u, observer.rejected().size()); |
538 EXPECT_EQ(request_id, observer.rejected()[0].request_id()); | 537 EXPECT_EQ(request_id, observer.rejected()[0].request_id()); |
539 EXPECT_EQ(error, observer.rejected()[0].error()); | 538 EXPECT_EQ(error, observer.rejected()[0].error()); |
540 | 539 |
541 // Confirm, that the request is removed. Basically, fulfilling again for the | 540 // Confirm, that the request is removed. Basically, fulfilling again for the |
542 // same request, should fail. | 541 // same request, should fail. |
543 { | 542 { |
544 bool has_more = false; | 543 const bool has_more = false; |
545 bool retry = request_manager_->FulfillRequest( | 544 const base::File::Error retry = request_manager_->FulfillRequest( |
546 request_id, scoped_ptr<RequestValue>(new RequestValue), has_more); | 545 request_id, scoped_ptr<RequestValue>(new RequestValue), has_more); |
547 EXPECT_FALSE(retry); | 546 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, retry); |
548 EXPECT_EQ(0u, observer.fulfilled().size()); | 547 EXPECT_EQ(0u, observer.fulfilled().size()); |
549 } | 548 } |
550 | 549 |
551 // Rejecting should also fail. | 550 // Rejecting should also fail. |
552 { | 551 { |
553 bool retry = request_manager_->RejectRequest( | 552 const base::File::Error retry = request_manager_->RejectRequest( |
554 request_id, scoped_ptr<RequestValue>(new RequestValue()), error); | 553 request_id, scoped_ptr<RequestValue>(new RequestValue()), error); |
555 EXPECT_FALSE(retry); | 554 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, retry); |
556 EXPECT_EQ(1u, observer.rejected().size()); | 555 EXPECT_EQ(1u, observer.rejected().size()); |
557 } | 556 } |
558 | 557 |
559 ASSERT_EQ(1u, observer.destroyed().size()); | 558 ASSERT_EQ(1u, observer.destroyed().size()); |
560 EXPECT_EQ(request_id, observer.destroyed()[0].request_id()); | 559 EXPECT_EQ(request_id, observer.destroyed()[0].request_id()); |
561 EXPECT_EQ(0u, observer.timeouted().size()); | 560 EXPECT_EQ(0u, observer.timeouted().size()); |
562 | 561 |
563 request_manager_->RemoveObserver(&observer); | 562 request_manager_->RemoveObserver(&observer); |
564 } | 563 } |
565 | 564 |
(...skipping 14 matching lines...) Expand all Loading... |
580 | 579 |
581 ASSERT_EQ(1u, observer.created().size()); | 580 ASSERT_EQ(1u, observer.created().size()); |
582 EXPECT_EQ(request_id, observer.created()[0].request_id()); | 581 EXPECT_EQ(request_id, observer.created()[0].request_id()); |
583 EXPECT_EQ(TESTING, observer.created()[0].type()); | 582 EXPECT_EQ(TESTING, observer.created()[0].type()); |
584 | 583 |
585 ASSERT_EQ(1u, observer.executed().size()); | 584 ASSERT_EQ(1u, observer.executed().size()); |
586 EXPECT_EQ(request_id, observer.executed()[0].request_id()); | 585 EXPECT_EQ(request_id, observer.executed()[0].request_id()); |
587 | 586 |
588 const bool has_more = true; | 587 const bool has_more = true; |
589 | 588 |
590 const bool result = request_manager_->FulfillRequest( | 589 const base::File::Error result = request_manager_->FulfillRequest( |
591 request_id + 1, scoped_ptr<RequestValue>(new RequestValue), has_more); | 590 request_id + 1, scoped_ptr<RequestValue>(new RequestValue), has_more); |
592 EXPECT_FALSE(result); | 591 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, result); |
593 | 592 |
594 // Callbacks should not be called. | 593 // Callbacks should not be called. |
595 EXPECT_EQ(0u, logger.error_events().size()); | 594 EXPECT_EQ(0u, logger.error_events().size()); |
596 EXPECT_EQ(0u, logger.success_events().size()); | 595 EXPECT_EQ(0u, logger.success_events().size()); |
597 | 596 |
598 EXPECT_EQ(0u, observer.fulfilled().size()); | 597 EXPECT_EQ(0u, observer.fulfilled().size()); |
599 EXPECT_EQ(request_id, observer.executed()[0].request_id()); | 598 EXPECT_EQ(request_id, observer.executed()[0].request_id()); |
600 | 599 |
601 // Confirm, that the request hasn't been removed, by fulfilling it correctly. | 600 // Confirm, that the request hasn't been removed, by fulfilling it correctly. |
602 { | 601 { |
603 const bool retry = request_manager_->FulfillRequest( | 602 const base::File::Error retry = request_manager_->FulfillRequest( |
604 request_id, scoped_ptr<RequestValue>(new RequestValue), has_more); | 603 request_id, scoped_ptr<RequestValue>(new RequestValue), has_more); |
605 EXPECT_TRUE(retry); | 604 EXPECT_EQ(base::File::FILE_OK, retry); |
606 EXPECT_EQ(1u, observer.fulfilled().size()); | 605 EXPECT_EQ(1u, observer.fulfilled().size()); |
607 } | 606 } |
608 | 607 |
609 request_manager_->RemoveObserver(&observer); | 608 request_manager_->RemoveObserver(&observer); |
610 } | 609 } |
611 | 610 |
612 TEST_F(FileSystemProviderRequestManagerTest, | 611 TEST_F(FileSystemProviderRequestManagerTest, |
613 CreateAndRejectWithWrongRequestId) { | 612 CreateAndRejectWithWrongRequestId) { |
614 EventLogger logger; | 613 EventLogger logger; |
615 RequestObserver observer; | 614 RequestObserver observer; |
616 request_manager_->AddObserver(&observer); | 615 request_manager_->AddObserver(&observer); |
617 | 616 |
618 const int request_id = request_manager_->CreateRequest( | 617 const int request_id = request_manager_->CreateRequest( |
619 TESTING, | 618 TESTING, |
620 make_scoped_ptr<RequestManager::HandlerInterface>( | 619 make_scoped_ptr<RequestManager::HandlerInterface>( |
621 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */))); | 620 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */))); |
622 | 621 |
623 EXPECT_EQ(1, request_id); | 622 EXPECT_EQ(1, request_id); |
624 EXPECT_EQ(0u, logger.success_events().size()); | 623 EXPECT_EQ(0u, logger.success_events().size()); |
625 EXPECT_EQ(0u, logger.error_events().size()); | 624 EXPECT_EQ(0u, logger.error_events().size()); |
626 | 625 |
627 ASSERT_EQ(1u, observer.created().size()); | 626 ASSERT_EQ(1u, observer.created().size()); |
628 EXPECT_EQ(request_id, observer.created()[0].request_id()); | 627 EXPECT_EQ(request_id, observer.created()[0].request_id()); |
629 EXPECT_EQ(TESTING, observer.created()[0].type()); | 628 EXPECT_EQ(TESTING, observer.created()[0].type()); |
630 | 629 |
631 ASSERT_EQ(1u, observer.executed().size()); | 630 ASSERT_EQ(1u, observer.executed().size()); |
632 EXPECT_EQ(request_id, observer.executed()[0].request_id()); | 631 EXPECT_EQ(request_id, observer.executed()[0].request_id()); |
633 | 632 |
634 base::File::Error error = base::File::FILE_ERROR_NO_MEMORY; | 633 const base::File::Error error = base::File::FILE_ERROR_NO_MEMORY; |
635 bool result = request_manager_->RejectRequest( | 634 const base::File::Error result = request_manager_->RejectRequest( |
636 request_id + 1, scoped_ptr<RequestValue>(new RequestValue()), error); | 635 request_id + 1, scoped_ptr<RequestValue>(new RequestValue()), error); |
637 EXPECT_FALSE(result); | 636 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, result); |
638 | 637 |
639 // Callbacks should not be called. | 638 // Callbacks should not be called. |
640 EXPECT_EQ(0u, logger.error_events().size()); | 639 EXPECT_EQ(0u, logger.error_events().size()); |
641 EXPECT_EQ(0u, logger.success_events().size()); | 640 EXPECT_EQ(0u, logger.success_events().size()); |
642 | 641 |
643 EXPECT_EQ(0u, observer.rejected().size()); | 642 EXPECT_EQ(0u, observer.rejected().size()); |
644 | 643 |
645 // Confirm, that the request hasn't been removed, by rejecting it correctly. | 644 // Confirm, that the request hasn't been removed, by rejecting it correctly. |
646 { | 645 { |
647 bool retry = request_manager_->RejectRequest( | 646 const base::File::Error retry = request_manager_->RejectRequest( |
648 request_id, scoped_ptr<RequestValue>(new RequestValue()), error); | 647 request_id, scoped_ptr<RequestValue>(new RequestValue()), error); |
649 EXPECT_TRUE(retry); | 648 EXPECT_EQ(base::File::FILE_OK, retry); |
650 EXPECT_EQ(1u, observer.rejected().size()); | 649 EXPECT_EQ(1u, observer.rejected().size()); |
651 } | 650 } |
652 | 651 |
653 request_manager_->RemoveObserver(&observer); | 652 request_manager_->RemoveObserver(&observer); |
654 } | 653 } |
655 | 654 |
656 TEST_F(FileSystemProviderRequestManagerTest, UniqueIds) { | 655 TEST_F(FileSystemProviderRequestManagerTest, UniqueIds) { |
657 EventLogger logger; | 656 EventLogger logger; |
658 | 657 |
659 const int first_request_id = request_manager_->CreateRequest( | 658 const int first_request_id = request_manager_->CreateRequest( |
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
799 | 798 |
800 // Wait until the request is timeouted again. | 799 // Wait until the request is timeouted again. |
801 base::RunLoop().RunUntilIdle(); | 800 base::RunLoop().RunUntilIdle(); |
802 EXPECT_EQ(1u, notification_manager_->size()); | 801 EXPECT_EQ(1u, notification_manager_->size()); |
803 | 802 |
804 request_manager_->RemoveObserver(&observer); | 803 request_manager_->RemoveObserver(&observer); |
805 } | 804 } |
806 | 805 |
807 } // namespace file_system_provider | 806 } // namespace file_system_provider |
808 } // namespace chromeos | 807 } // namespace chromeos |
OLD | NEW |