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 <stdint.h> | 5 #include <stdint.h> |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/files/file_util.h" | 10 #include "base/files/file_util.h" |
(...skipping 616 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
627 | 627 |
628 ASSERT_EQ(1 + 2 + 4, GetTotalChangeCount()); | 628 ASSERT_EQ(1 + 2 + 4, GetTotalChangeCount()); |
629 | 629 |
630 const GURL kOrigins[] = { kOrigin1, kOrigin2, kOrigin3 }; | 630 const GURL kOrigins[] = { kOrigin1, kOrigin2, kOrigin3 }; |
631 std::set<GURL> all_origins; | 631 std::set<GURL> all_origins; |
632 all_origins.insert(kOrigins, kOrigins + arraysize(kOrigins)); | 632 all_origins.insert(kOrigins, kOrigins + arraysize(kOrigins)); |
633 | 633 |
634 GURL origin; | 634 GURL origin; |
635 while (!all_origins.empty()) { | 635 while (!all_origins.empty()) { |
636 ASSERT_TRUE(NextOriginToProcess(&origin)); | 636 ASSERT_TRUE(NextOriginToProcess(&origin)); |
637 ASSERT_TRUE(ContainsKey(all_origins, origin)); | 637 ASSERT_TRUE(base::ContainsKey(all_origins, origin)); |
638 all_origins.erase(origin); | 638 all_origins.erase(origin); |
639 } | 639 } |
640 | 640 |
641 // Set kOrigin2's change count 0. | 641 // Set kOrigin2's change count 0. |
642 SetOriginChangeCount(kOrigin2, 0); | 642 SetOriginChangeCount(kOrigin2, 0); |
643 ASSERT_EQ(1 + 4, GetTotalChangeCount()); | 643 ASSERT_EQ(1 + 4, GetTotalChangeCount()); |
644 | 644 |
645 // kOrigin2 won't return this time. | 645 // kOrigin2 won't return this time. |
646 all_origins.insert(kOrigin1); | 646 all_origins.insert(kOrigin1); |
647 all_origins.insert(kOrigin3); | 647 all_origins.insert(kOrigin3); |
648 while (!all_origins.empty()) { | 648 while (!all_origins.empty()) { |
649 ASSERT_TRUE(NextOriginToProcess(&origin)); | 649 ASSERT_TRUE(NextOriginToProcess(&origin)); |
650 ASSERT_TRUE(ContainsKey(all_origins, origin)); | 650 ASSERT_TRUE(base::ContainsKey(all_origins, origin)); |
651 all_origins.erase(origin); | 651 all_origins.erase(origin); |
652 } | 652 } |
653 | 653 |
654 // Calling NextOriginToProcess() again will just return | 654 // Calling NextOriginToProcess() again will just return |
655 // the same set of origins (as far as we don't change the | 655 // the same set of origins (as far as we don't change the |
656 // change count). | 656 // change count). |
657 all_origins.insert(kOrigin1); | 657 all_origins.insert(kOrigin1); |
658 all_origins.insert(kOrigin3); | 658 all_origins.insert(kOrigin3); |
659 while (!all_origins.empty()) { | 659 while (!all_origins.empty()) { |
660 ASSERT_TRUE(NextOriginToProcess(&origin)); | 660 ASSERT_TRUE(NextOriginToProcess(&origin)); |
661 ASSERT_TRUE(ContainsKey(all_origins, origin)); | 661 ASSERT_TRUE(base::ContainsKey(all_origins, origin)); |
662 all_origins.erase(origin); | 662 all_origins.erase(origin); |
663 } | 663 } |
664 | 664 |
665 // Set kOrigin2's change count 8. | 665 // Set kOrigin2's change count 8. |
666 SetOriginChangeCount(kOrigin2, 8); | 666 SetOriginChangeCount(kOrigin2, 8); |
667 ASSERT_EQ(1 + 4 + 8, GetTotalChangeCount()); | 667 ASSERT_EQ(1 + 4 + 8, GetTotalChangeCount()); |
668 | 668 |
669 all_origins.insert(kOrigins, kOrigins + arraysize(kOrigins)); | 669 all_origins.insert(kOrigins, kOrigins + arraysize(kOrigins)); |
670 while (!all_origins.empty()) { | 670 while (!all_origins.empty()) { |
671 ASSERT_TRUE(NextOriginToProcess(&origin)); | 671 ASSERT_TRUE(NextOriginToProcess(&origin)); |
672 ASSERT_TRUE(ContainsKey(all_origins, origin)); | 672 ASSERT_TRUE(base::ContainsKey(all_origins, origin)); |
673 all_origins.erase(origin); | 673 all_origins.erase(origin); |
674 } | 674 } |
675 } | 675 } |
676 | 676 |
677 TEST_F(OriginChangeMapTest, WithDisabled) { | 677 TEST_F(OriginChangeMapTest, WithDisabled) { |
678 const GURL kOrigin1("chrome-extension://foo"); | 678 const GURL kOrigin1("chrome-extension://foo"); |
679 const GURL kOrigin2("chrome-extension://bar"); | 679 const GURL kOrigin2("chrome-extension://bar"); |
680 const GURL kOrigin3("chrome-extension://baz"); | 680 const GURL kOrigin3("chrome-extension://baz"); |
681 const GURL kOrigins[] = { kOrigin1, kOrigin2, kOrigin3 }; | 681 const GURL kOrigins[] = { kOrigin1, kOrigin2, kOrigin3 }; |
682 | 682 |
683 ASSERT_EQ(0, GetTotalChangeCount()); | 683 ASSERT_EQ(0, GetTotalChangeCount()); |
684 | 684 |
685 SetOriginChangeCount(kOrigin1, 1); | 685 SetOriginChangeCount(kOrigin1, 1); |
686 SetOriginChangeCount(kOrigin2, 2); | 686 SetOriginChangeCount(kOrigin2, 2); |
687 SetOriginChangeCount(kOrigin3, 4); | 687 SetOriginChangeCount(kOrigin3, 4); |
688 | 688 |
689 ASSERT_EQ(1 + 2 + 4, GetTotalChangeCount()); | 689 ASSERT_EQ(1 + 2 + 4, GetTotalChangeCount()); |
690 | 690 |
691 std::set<GURL> all_origins; | 691 std::set<GURL> all_origins; |
692 all_origins.insert(kOrigins, kOrigins + arraysize(kOrigins)); | 692 all_origins.insert(kOrigins, kOrigins + arraysize(kOrigins)); |
693 | 693 |
694 GURL origin; | 694 GURL origin; |
695 while (!all_origins.empty()) { | 695 while (!all_origins.empty()) { |
696 ASSERT_TRUE(NextOriginToProcess(&origin)); | 696 ASSERT_TRUE(NextOriginToProcess(&origin)); |
697 ASSERT_TRUE(ContainsKey(all_origins, origin)); | 697 ASSERT_TRUE(base::ContainsKey(all_origins, origin)); |
698 all_origins.erase(origin); | 698 all_origins.erase(origin); |
699 } | 699 } |
700 | 700 |
701 SetOriginEnabled(kOrigin2, false); | 701 SetOriginEnabled(kOrigin2, false); |
702 ASSERT_EQ(1 + 4, GetTotalChangeCount()); | 702 ASSERT_EQ(1 + 4, GetTotalChangeCount()); |
703 | 703 |
704 // kOrigin2 won't return this time. | 704 // kOrigin2 won't return this time. |
705 all_origins.insert(kOrigin1); | 705 all_origins.insert(kOrigin1); |
706 all_origins.insert(kOrigin3); | 706 all_origins.insert(kOrigin3); |
707 while (!all_origins.empty()) { | 707 while (!all_origins.empty()) { |
708 ASSERT_TRUE(NextOriginToProcess(&origin)); | 708 ASSERT_TRUE(NextOriginToProcess(&origin)); |
709 ASSERT_TRUE(ContainsKey(all_origins, origin)); | 709 ASSERT_TRUE(base::ContainsKey(all_origins, origin)); |
710 all_origins.erase(origin); | 710 all_origins.erase(origin); |
711 } | 711 } |
712 | 712 |
713 // kOrigin1 and kOrigin2 are now disabled. | 713 // kOrigin1 and kOrigin2 are now disabled. |
714 SetOriginEnabled(kOrigin1, false); | 714 SetOriginEnabled(kOrigin1, false); |
715 ASSERT_EQ(4, GetTotalChangeCount()); | 715 ASSERT_EQ(4, GetTotalChangeCount()); |
716 | 716 |
717 ASSERT_TRUE(NextOriginToProcess(&origin)); | 717 ASSERT_TRUE(NextOriginToProcess(&origin)); |
718 ASSERT_EQ(kOrigin3, origin); | 718 ASSERT_EQ(kOrigin3, origin); |
719 | 719 |
720 // Re-enable kOrigin2. | 720 // Re-enable kOrigin2. |
721 SetOriginEnabled(kOrigin2, true); | 721 SetOriginEnabled(kOrigin2, true); |
722 ASSERT_EQ(2 + 4, GetTotalChangeCount()); | 722 ASSERT_EQ(2 + 4, GetTotalChangeCount()); |
723 | 723 |
724 // kOrigin1 won't return this time. | 724 // kOrigin1 won't return this time. |
725 all_origins.insert(kOrigin2); | 725 all_origins.insert(kOrigin2); |
726 all_origins.insert(kOrigin3); | 726 all_origins.insert(kOrigin3); |
727 while (!all_origins.empty()) { | 727 while (!all_origins.empty()) { |
728 ASSERT_TRUE(NextOriginToProcess(&origin)); | 728 ASSERT_TRUE(NextOriginToProcess(&origin)); |
729 ASSERT_TRUE(ContainsKey(all_origins, origin)); | 729 ASSERT_TRUE(base::ContainsKey(all_origins, origin)); |
730 all_origins.erase(origin); | 730 all_origins.erase(origin); |
731 } | 731 } |
732 } | 732 } |
733 | 733 |
734 } // namespace sync_file_system | 734 } // namespace sync_file_system |
OLD | NEW |