| 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 |