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 "chrome/browser/extensions/chrome_app_sorting.h" | 5 #include "chrome/browser/extensions/chrome_app_sorting.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 | 8 |
9 #include "chrome/browser/extensions/./extension_prefs_unittest.h" | 9 #include "chrome/browser/extensions/./extension_prefs_unittest.h" |
10 #include "components/crx_file/id_util.h" | 10 #include "components/crx_file/id_util.h" |
(...skipping 13 matching lines...) Expand all Loading... |
24 } | 24 } |
25 }; | 25 }; |
26 | 26 |
27 class ChromeAppSortingAppLocation : public ChromeAppSortingTest { | 27 class ChromeAppSortingAppLocation : public ChromeAppSortingTest { |
28 public: | 28 public: |
29 void Initialize() override { | 29 void Initialize() override { |
30 extension_ = prefs_.AddExtension("not_an_app"); | 30 extension_ = prefs_.AddExtension("not_an_app"); |
31 // Non-apps should not have any app launch ordinal or page ordinal. | 31 // Non-apps should not have any app launch ordinal or page ordinal. |
32 prefs()->OnExtensionInstalled(extension_.get(), | 32 prefs()->OnExtensionInstalled(extension_.get(), |
33 Extension::ENABLED, | 33 Extension::ENABLED, |
| 34 Extension::DISABLE_NONE, |
34 syncer::StringOrdinal(), | 35 syncer::StringOrdinal(), |
35 std::string()); | 36 std::string()); |
36 } | 37 } |
37 | 38 |
38 void Verify() override { | 39 void Verify() override { |
39 EXPECT_FALSE( | 40 EXPECT_FALSE( |
40 app_sorting()->GetAppLaunchOrdinal(extension_->id()).IsValid()); | 41 app_sorting()->GetAppLaunchOrdinal(extension_->id()).IsValid()); |
41 EXPECT_FALSE( | 42 EXPECT_FALSE( |
42 app_sorting()->GetPageOrdinal(extension_->id()).IsValid()); | 43 app_sorting()->GetPageOrdinal(extension_->id()).IsValid()); |
43 } | 44 } |
44 | 45 |
45 private: | 46 private: |
46 scoped_refptr<Extension> extension_; | 47 scoped_refptr<Extension> extension_; |
47 }; | 48 }; |
48 TEST_F(ChromeAppSortingAppLocation, ChromeAppSortingAppLocation) {} | 49 TEST_F(ChromeAppSortingAppLocation, ChromeAppSortingAppLocation) {} |
49 | 50 |
50 class ChromeAppSortingAppLaunchOrdinal : public ChromeAppSortingTest { | 51 class ChromeAppSortingAppLaunchOrdinal : public ChromeAppSortingTest { |
51 public: | 52 public: |
52 void Initialize() override { | 53 void Initialize() override { |
53 // No extensions yet. | 54 // No extensions yet. |
54 syncer::StringOrdinal page = syncer::StringOrdinal::CreateInitialOrdinal(); | 55 syncer::StringOrdinal page = syncer::StringOrdinal::CreateInitialOrdinal(); |
55 EXPECT_TRUE(syncer::StringOrdinal::CreateInitialOrdinal().Equals( | 56 EXPECT_TRUE(syncer::StringOrdinal::CreateInitialOrdinal().Equals( |
56 app_sorting()->CreateNextAppLaunchOrdinal(page))); | 57 app_sorting()->CreateNextAppLaunchOrdinal(page))); |
57 | 58 |
58 extension_ = prefs_.AddApp("on_extension_installed"); | 59 extension_ = prefs_.AddApp("on_extension_installed"); |
59 EXPECT_FALSE(prefs()->IsExtensionDisabled(extension_->id())); | 60 EXPECT_FALSE(prefs()->IsExtensionDisabled(extension_->id())); |
60 prefs()->OnExtensionInstalled(extension_.get(), | 61 prefs()->OnExtensionInstalled(extension_.get(), |
61 Extension::ENABLED, | 62 Extension::ENABLED, |
| 63 Extension::DISABLE_NONE, |
62 syncer::StringOrdinal(), | 64 syncer::StringOrdinal(), |
63 std::string()); | 65 std::string()); |
64 } | 66 } |
65 | 67 |
66 void Verify() override { | 68 void Verify() override { |
67 syncer::StringOrdinal launch_ordinal = | 69 syncer::StringOrdinal launch_ordinal = |
68 app_sorting()->GetAppLaunchOrdinal(extension_->id()); | 70 app_sorting()->GetAppLaunchOrdinal(extension_->id()); |
69 syncer::StringOrdinal page_ordinal = | 71 syncer::StringOrdinal page_ordinal = |
70 syncer::StringOrdinal::CreateInitialOrdinal(); | 72 syncer::StringOrdinal::CreateInitialOrdinal(); |
71 | 73 |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
104 TEST_F(ChromeAppSortingAppLaunchOrdinal, ChromeAppSortingAppLaunchOrdinal) {} | 106 TEST_F(ChromeAppSortingAppLaunchOrdinal, ChromeAppSortingAppLaunchOrdinal) {} |
105 | 107 |
106 class ChromeAppSortingPageOrdinal : public ChromeAppSortingTest { | 108 class ChromeAppSortingPageOrdinal : public ChromeAppSortingTest { |
107 public: | 109 public: |
108 void Initialize() override { | 110 void Initialize() override { |
109 extension_ = prefs_.AddApp("page_ordinal"); | 111 extension_ = prefs_.AddApp("page_ordinal"); |
110 // Install with a page preference. | 112 // Install with a page preference. |
111 first_page_ = syncer::StringOrdinal::CreateInitialOrdinal(); | 113 first_page_ = syncer::StringOrdinal::CreateInitialOrdinal(); |
112 prefs()->OnExtensionInstalled(extension_.get(), | 114 prefs()->OnExtensionInstalled(extension_.get(), |
113 Extension::ENABLED, | 115 Extension::ENABLED, |
| 116 Extension::DISABLE_NONE, |
114 first_page_, | 117 first_page_, |
115 std::string()); | 118 std::string()); |
116 EXPECT_TRUE(first_page_.Equals( | 119 EXPECT_TRUE(first_page_.Equals( |
117 app_sorting()->GetPageOrdinal(extension_->id()))); | 120 app_sorting()->GetPageOrdinal(extension_->id()))); |
118 EXPECT_EQ(0, app_sorting()->PageStringOrdinalAsInteger(first_page_)); | 121 EXPECT_EQ(0, app_sorting()->PageStringOrdinalAsInteger(first_page_)); |
119 | 122 |
120 scoped_refptr<Extension> extension2 = prefs_.AddApp("page_ordinal_2"); | 123 scoped_refptr<Extension> extension2 = prefs_.AddApp("page_ordinal_2"); |
121 // Install without any page preference. | 124 // Install without any page preference. |
122 prefs()->OnExtensionInstalled(extension2.get(), | 125 prefs()->OnExtensionInstalled(extension2.get(), |
123 Extension::ENABLED, | 126 Extension::ENABLED, |
| 127 Extension::DISABLE_NONE, |
124 syncer::StringOrdinal(), | 128 syncer::StringOrdinal(), |
125 std::string()); | 129 std::string()); |
126 EXPECT_TRUE(first_page_.Equals( | 130 EXPECT_TRUE(first_page_.Equals( |
127 app_sorting()->GetPageOrdinal(extension2->id()))); | 131 app_sorting()->GetPageOrdinal(extension2->id()))); |
128 } | 132 } |
129 void Verify() override { | 133 void Verify() override { |
130 // Set the page ordinal. | 134 // Set the page ordinal. |
131 syncer::StringOrdinal new_page = first_page_.CreateAfter(); | 135 syncer::StringOrdinal new_page = first_page_.CreateAfter(); |
132 app_sorting()->SetPageOrdinal(extension_->id(), new_page); | 136 app_sorting()->SetPageOrdinal(extension_->id(), new_page); |
133 // Verify the page ordinal. | 137 // Verify the page ordinal. |
(...skipping 495 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
629 simple_dict.SetString(keys::kName, "unused"); | 633 simple_dict.SetString(keys::kName, "unused"); |
630 simple_dict.SetString(keys::kApp, "true"); | 634 simple_dict.SetString(keys::kApp, "true"); |
631 simple_dict.SetString(keys::kLaunchLocalPath, "fake.html"); | 635 simple_dict.SetString(keys::kLaunchLocalPath, "fake.html"); |
632 | 636 |
633 std::string error; | 637 std::string error; |
634 app1_scoped_ = Extension::Create( | 638 app1_scoped_ = Extension::Create( |
635 prefs_.temp_dir().AppendASCII("app1_"), Manifest::EXTERNAL_PREF, | 639 prefs_.temp_dir().AppendASCII("app1_"), Manifest::EXTERNAL_PREF, |
636 simple_dict, Extension::NO_FLAGS, &error); | 640 simple_dict, Extension::NO_FLAGS, &error); |
637 prefs()->OnExtensionInstalled(app1_scoped_.get(), | 641 prefs()->OnExtensionInstalled(app1_scoped_.get(), |
638 Extension::ENABLED, | 642 Extension::ENABLED, |
| 643 Extension::DISABLE_NONE, |
639 syncer::StringOrdinal(), | 644 syncer::StringOrdinal(), |
640 std::string()); | 645 std::string()); |
641 | 646 |
642 app2_scoped_ = Extension::Create( | 647 app2_scoped_ = Extension::Create( |
643 prefs_.temp_dir().AppendASCII("app2_"), Manifest::EXTERNAL_PREF, | 648 prefs_.temp_dir().AppendASCII("app2_"), Manifest::EXTERNAL_PREF, |
644 simple_dict, Extension::NO_FLAGS, &error); | 649 simple_dict, Extension::NO_FLAGS, &error); |
645 prefs()->OnExtensionInstalled(app2_scoped_.get(), | 650 prefs()->OnExtensionInstalled(app2_scoped_.get(), |
646 Extension::ENABLED, | 651 Extension::ENABLED, |
| 652 Extension::DISABLE_NONE, |
647 syncer::StringOrdinal(), | 653 syncer::StringOrdinal(), |
648 std::string()); | 654 std::string()); |
649 | 655 |
650 app1_ = app1_scoped_.get(); | 656 app1_ = app1_scoped_.get(); |
651 app2_ = app2_scoped_.get(); | 657 app2_ = app2_scoped_.get(); |
652 } | 658 } |
653 ~ChromeAppSortingPreinstalledAppsBase() override {} | 659 ~ChromeAppSortingPreinstalledAppsBase() override {} |
654 | 660 |
655 protected: | 661 protected: |
656 // Weak references, for convenience. | 662 // Weak references, for convenience. |
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
823 syncer::StringOrdinal::CreateInitialOrdinal().CreateAfter(); | 829 syncer::StringOrdinal::CreateInitialOrdinal().CreateAfter(); |
824 default_app_launch_ordinal_ = | 830 default_app_launch_ordinal_ = |
825 syncer::StringOrdinal::CreateInitialOrdinal().CreateBefore(); | 831 syncer::StringOrdinal::CreateInitialOrdinal().CreateBefore(); |
826 } | 832 } |
827 | 833 |
828 virtual void SetupUserOrdinals() {} | 834 virtual void SetupUserOrdinals() {} |
829 | 835 |
830 virtual void InstallApps() { | 836 virtual void InstallApps() { |
831 prefs()->OnExtensionInstalled(app_.get(), | 837 prefs()->OnExtensionInstalled(app_.get(), |
832 Extension::ENABLED, | 838 Extension::ENABLED, |
| 839 Extension::DISABLE_NONE, |
833 syncer::StringOrdinal(), | 840 syncer::StringOrdinal(), |
834 std::string()); | 841 std::string()); |
835 } | 842 } |
836 | 843 |
837 scoped_refptr<Extension> app_; | 844 scoped_refptr<Extension> app_; |
838 syncer::StringOrdinal default_page_ordinal_; | 845 syncer::StringOrdinal default_page_ordinal_; |
839 syncer::StringOrdinal default_app_launch_ordinal_; | 846 syncer::StringOrdinal default_app_launch_ordinal_; |
840 }; | 847 }; |
841 | 848 |
842 // Tests that the app gets its default ordinals. | 849 // Tests that the app gets its default ordinals. |
(...skipping 27 matching lines...) Expand all Loading... |
870 EXPECT_FALSE(app_sorting->GetPageOrdinal(app_->id()).Equals( | 877 EXPECT_FALSE(app_sorting->GetPageOrdinal(app_->id()).Equals( |
871 default_page_ordinal_)); | 878 default_page_ordinal_)); |
872 EXPECT_TRUE(app_sorting->GetPageOrdinal(app_->id()).Equals(install_page_)); | 879 EXPECT_TRUE(app_sorting->GetPageOrdinal(app_->id()).Equals(install_page_)); |
873 } | 880 } |
874 | 881 |
875 protected: | 882 protected: |
876 void InstallApps() override { | 883 void InstallApps() override { |
877 install_page_ = default_page_ordinal_.CreateAfter(); | 884 install_page_ = default_page_ordinal_.CreateAfter(); |
878 prefs()->OnExtensionInstalled(app_.get(), | 885 prefs()->OnExtensionInstalled(app_.get(), |
879 Extension::ENABLED, | 886 Extension::ENABLED, |
| 887 Extension::DISABLE_NONE, |
880 install_page_, | 888 install_page_, |
881 std::string()); | 889 std::string()); |
882 } | 890 } |
883 | 891 |
884 private: | 892 private: |
885 syncer::StringOrdinal install_page_; | 893 syncer::StringOrdinal install_page_; |
886 }; | 894 }; |
887 TEST_F(ChromeAppSortingDefaultOrdinalOverriddenByInstallPage, | 895 TEST_F(ChromeAppSortingDefaultOrdinalOverriddenByInstallPage, |
888 ChromeAppSortingDefaultOrdinalOverriddenByInstallPage) {} | 896 ChromeAppSortingDefaultOrdinalOverriddenByInstallPage) {} |
889 | 897 |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
992 | 1000 |
993 private: | 1001 private: |
994 scoped_refptr<Extension> first_app_; | 1002 scoped_refptr<Extension> first_app_; |
995 scoped_refptr<Extension> second_app_; | 1003 scoped_refptr<Extension> second_app_; |
996 }; | 1004 }; |
997 TEST_F(ChromeAppSortingSetExtensionVisible, | 1005 TEST_F(ChromeAppSortingSetExtensionVisible, |
998 ChromeAppSortingSetExtensionVisible) { | 1006 ChromeAppSortingSetExtensionVisible) { |
999 } | 1007 } |
1000 | 1008 |
1001 } // namespace extensions | 1009 } // namespace extensions |
OLD | NEW |