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 "chrome/common/extensions/extension_constants.h" | 10 #include "chrome/common/extensions/extension_constants.h" |
(...skipping 12 matching lines...) Expand all Loading... |
23 } | 23 } |
24 }; | 24 }; |
25 | 25 |
26 class ChromeAppSortingAppLocation : public ChromeAppSortingTest { | 26 class ChromeAppSortingAppLocation : public ChromeAppSortingTest { |
27 public: | 27 public: |
28 virtual void Initialize() OVERRIDE { | 28 virtual void Initialize() OVERRIDE { |
29 extension_ = prefs_.AddExtension("not_an_app"); | 29 extension_ = prefs_.AddExtension("not_an_app"); |
30 // Non-apps should not have any app launch ordinal or page ordinal. | 30 // Non-apps should not have any app launch ordinal or page ordinal. |
31 prefs()->OnExtensionInstalled(extension_.get(), | 31 prefs()->OnExtensionInstalled(extension_.get(), |
32 Extension::ENABLED, | 32 Extension::ENABLED, |
33 false, | |
34 false, | |
35 syncer::StringOrdinal(), | 33 syncer::StringOrdinal(), |
36 std::string()); | 34 std::string()); |
37 } | 35 } |
38 | 36 |
39 virtual void Verify() OVERRIDE { | 37 virtual void Verify() OVERRIDE { |
40 EXPECT_FALSE( | 38 EXPECT_FALSE( |
41 app_sorting()->GetAppLaunchOrdinal(extension_->id()).IsValid()); | 39 app_sorting()->GetAppLaunchOrdinal(extension_->id()).IsValid()); |
42 EXPECT_FALSE( | 40 EXPECT_FALSE( |
43 app_sorting()->GetPageOrdinal(extension_->id()).IsValid()); | 41 app_sorting()->GetPageOrdinal(extension_->id()).IsValid()); |
44 } | 42 } |
45 | 43 |
46 private: | 44 private: |
47 scoped_refptr<Extension> extension_; | 45 scoped_refptr<Extension> extension_; |
48 }; | 46 }; |
49 TEST_F(ChromeAppSortingAppLocation, ChromeAppSortingAppLocation) {} | 47 TEST_F(ChromeAppSortingAppLocation, ChromeAppSortingAppLocation) {} |
50 | 48 |
51 class ChromeAppSortingAppLaunchOrdinal : public ChromeAppSortingTest { | 49 class ChromeAppSortingAppLaunchOrdinal : public ChromeAppSortingTest { |
52 public: | 50 public: |
53 virtual void Initialize() OVERRIDE { | 51 virtual void Initialize() OVERRIDE { |
54 // No extensions yet. | 52 // No extensions yet. |
55 syncer::StringOrdinal page = syncer::StringOrdinal::CreateInitialOrdinal(); | 53 syncer::StringOrdinal page = syncer::StringOrdinal::CreateInitialOrdinal(); |
56 EXPECT_TRUE(syncer::StringOrdinal::CreateInitialOrdinal().Equals( | 54 EXPECT_TRUE(syncer::StringOrdinal::CreateInitialOrdinal().Equals( |
57 app_sorting()->CreateNextAppLaunchOrdinal(page))); | 55 app_sorting()->CreateNextAppLaunchOrdinal(page))); |
58 | 56 |
59 extension_ = prefs_.AddApp("on_extension_installed"); | 57 extension_ = prefs_.AddApp("on_extension_installed"); |
60 EXPECT_FALSE(prefs()->IsExtensionDisabled(extension_->id())); | 58 EXPECT_FALSE(prefs()->IsExtensionDisabled(extension_->id())); |
61 prefs()->OnExtensionInstalled(extension_.get(), | 59 prefs()->OnExtensionInstalled(extension_.get(), |
62 Extension::ENABLED, | 60 Extension::ENABLED, |
63 false, | |
64 false, | |
65 syncer::StringOrdinal(), | 61 syncer::StringOrdinal(), |
66 std::string()); | 62 std::string()); |
67 } | 63 } |
68 | 64 |
69 virtual void Verify() OVERRIDE { | 65 virtual void Verify() OVERRIDE { |
70 syncer::StringOrdinal launch_ordinal = | 66 syncer::StringOrdinal launch_ordinal = |
71 app_sorting()->GetAppLaunchOrdinal(extension_->id()); | 67 app_sorting()->GetAppLaunchOrdinal(extension_->id()); |
72 syncer::StringOrdinal page_ordinal = | 68 syncer::StringOrdinal page_ordinal = |
73 syncer::StringOrdinal::CreateInitialOrdinal(); | 69 syncer::StringOrdinal::CreateInitialOrdinal(); |
74 | 70 |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
107 TEST_F(ChromeAppSortingAppLaunchOrdinal, ChromeAppSortingAppLaunchOrdinal) {} | 103 TEST_F(ChromeAppSortingAppLaunchOrdinal, ChromeAppSortingAppLaunchOrdinal) {} |
108 | 104 |
109 class ChromeAppSortingPageOrdinal : public ChromeAppSortingTest { | 105 class ChromeAppSortingPageOrdinal : public ChromeAppSortingTest { |
110 public: | 106 public: |
111 virtual void Initialize() OVERRIDE { | 107 virtual void Initialize() OVERRIDE { |
112 extension_ = prefs_.AddApp("page_ordinal"); | 108 extension_ = prefs_.AddApp("page_ordinal"); |
113 // Install with a page preference. | 109 // Install with a page preference. |
114 first_page_ = syncer::StringOrdinal::CreateInitialOrdinal(); | 110 first_page_ = syncer::StringOrdinal::CreateInitialOrdinal(); |
115 prefs()->OnExtensionInstalled(extension_.get(), | 111 prefs()->OnExtensionInstalled(extension_.get(), |
116 Extension::ENABLED, | 112 Extension::ENABLED, |
117 false, | |
118 false, | |
119 first_page_, | 113 first_page_, |
120 std::string()); | 114 std::string()); |
121 EXPECT_TRUE(first_page_.Equals( | 115 EXPECT_TRUE(first_page_.Equals( |
122 app_sorting()->GetPageOrdinal(extension_->id()))); | 116 app_sorting()->GetPageOrdinal(extension_->id()))); |
123 EXPECT_EQ(0, app_sorting()->PageStringOrdinalAsInteger(first_page_)); | 117 EXPECT_EQ(0, app_sorting()->PageStringOrdinalAsInteger(first_page_)); |
124 | 118 |
125 scoped_refptr<Extension> extension2 = prefs_.AddApp("page_ordinal_2"); | 119 scoped_refptr<Extension> extension2 = prefs_.AddApp("page_ordinal_2"); |
126 // Install without any page preference. | 120 // Install without any page preference. |
127 prefs()->OnExtensionInstalled(extension2.get(), | 121 prefs()->OnExtensionInstalled(extension2.get(), |
128 Extension::ENABLED, | 122 Extension::ENABLED, |
129 false, | |
130 false, | |
131 syncer::StringOrdinal(), | 123 syncer::StringOrdinal(), |
132 std::string()); | 124 std::string()); |
133 EXPECT_TRUE(first_page_.Equals( | 125 EXPECT_TRUE(first_page_.Equals( |
134 app_sorting()->GetPageOrdinal(extension2->id()))); | 126 app_sorting()->GetPageOrdinal(extension2->id()))); |
135 } | 127 } |
136 virtual void Verify() OVERRIDE { | 128 virtual void Verify() OVERRIDE { |
137 // Set the page ordinal. | 129 // Set the page ordinal. |
138 syncer::StringOrdinal new_page = first_page_.CreateAfter(); | 130 syncer::StringOrdinal new_page = first_page_.CreateAfter(); |
139 app_sorting()->SetPageOrdinal(extension_->id(), new_page); | 131 app_sorting()->SetPageOrdinal(extension_->id(), new_page); |
140 // Verify the page ordinal. | 132 // Verify the page ordinal. |
(...skipping 495 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
636 simple_dict.SetString(keys::kName, "unused"); | 628 simple_dict.SetString(keys::kName, "unused"); |
637 simple_dict.SetString(keys::kApp, "true"); | 629 simple_dict.SetString(keys::kApp, "true"); |
638 simple_dict.SetString(keys::kLaunchLocalPath, "fake.html"); | 630 simple_dict.SetString(keys::kLaunchLocalPath, "fake.html"); |
639 | 631 |
640 std::string error; | 632 std::string error; |
641 app1_scoped_ = Extension::Create( | 633 app1_scoped_ = Extension::Create( |
642 prefs_.temp_dir().AppendASCII("app1_"), Manifest::EXTERNAL_PREF, | 634 prefs_.temp_dir().AppendASCII("app1_"), Manifest::EXTERNAL_PREF, |
643 simple_dict, Extension::NO_FLAGS, &error); | 635 simple_dict, Extension::NO_FLAGS, &error); |
644 prefs()->OnExtensionInstalled(app1_scoped_.get(), | 636 prefs()->OnExtensionInstalled(app1_scoped_.get(), |
645 Extension::ENABLED, | 637 Extension::ENABLED, |
646 false, | |
647 false, | |
648 syncer::StringOrdinal(), | 638 syncer::StringOrdinal(), |
649 std::string()); | 639 std::string()); |
650 | 640 |
651 app2_scoped_ = Extension::Create( | 641 app2_scoped_ = Extension::Create( |
652 prefs_.temp_dir().AppendASCII("app2_"), Manifest::EXTERNAL_PREF, | 642 prefs_.temp_dir().AppendASCII("app2_"), Manifest::EXTERNAL_PREF, |
653 simple_dict, Extension::NO_FLAGS, &error); | 643 simple_dict, Extension::NO_FLAGS, &error); |
654 prefs()->OnExtensionInstalled(app2_scoped_.get(), | 644 prefs()->OnExtensionInstalled(app2_scoped_.get(), |
655 Extension::ENABLED, | 645 Extension::ENABLED, |
656 false, | |
657 false, | |
658 syncer::StringOrdinal(), | 646 syncer::StringOrdinal(), |
659 std::string()); | 647 std::string()); |
660 | 648 |
661 app1_ = app1_scoped_.get(); | 649 app1_ = app1_scoped_.get(); |
662 app2_ = app2_scoped_.get(); | 650 app2_ = app2_scoped_.get(); |
663 } | 651 } |
664 virtual ~ChromeAppSortingPreinstalledAppsBase() {} | 652 virtual ~ChromeAppSortingPreinstalledAppsBase() {} |
665 | 653 |
666 protected: | 654 protected: |
667 // Weak references, for convenience. | 655 // Weak references, for convenience. |
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
834 syncer::StringOrdinal::CreateInitialOrdinal().CreateAfter(); | 822 syncer::StringOrdinal::CreateInitialOrdinal().CreateAfter(); |
835 default_app_launch_ordinal_ = | 823 default_app_launch_ordinal_ = |
836 syncer::StringOrdinal::CreateInitialOrdinal().CreateBefore(); | 824 syncer::StringOrdinal::CreateInitialOrdinal().CreateBefore(); |
837 } | 825 } |
838 | 826 |
839 virtual void SetupUserOrdinals() {} | 827 virtual void SetupUserOrdinals() {} |
840 | 828 |
841 virtual void InstallApps() { | 829 virtual void InstallApps() { |
842 prefs()->OnExtensionInstalled(app_.get(), | 830 prefs()->OnExtensionInstalled(app_.get(), |
843 Extension::ENABLED, | 831 Extension::ENABLED, |
844 false, | |
845 false, | |
846 syncer::StringOrdinal(), | 832 syncer::StringOrdinal(), |
847 std::string()); | 833 std::string()); |
848 } | 834 } |
849 | 835 |
850 scoped_refptr<Extension> app_; | 836 scoped_refptr<Extension> app_; |
851 syncer::StringOrdinal default_page_ordinal_; | 837 syncer::StringOrdinal default_page_ordinal_; |
852 syncer::StringOrdinal default_app_launch_ordinal_; | 838 syncer::StringOrdinal default_app_launch_ordinal_; |
853 }; | 839 }; |
854 | 840 |
855 // Tests that the app gets its default ordinals. | 841 // Tests that the app gets its default ordinals. |
(...skipping 27 matching lines...) Expand all Loading... |
883 EXPECT_FALSE(app_sorting->GetPageOrdinal(app_->id()).Equals( | 869 EXPECT_FALSE(app_sorting->GetPageOrdinal(app_->id()).Equals( |
884 default_page_ordinal_)); | 870 default_page_ordinal_)); |
885 EXPECT_TRUE(app_sorting->GetPageOrdinal(app_->id()).Equals(install_page_)); | 871 EXPECT_TRUE(app_sorting->GetPageOrdinal(app_->id()).Equals(install_page_)); |
886 } | 872 } |
887 | 873 |
888 protected: | 874 protected: |
889 virtual void InstallApps() OVERRIDE { | 875 virtual void InstallApps() OVERRIDE { |
890 install_page_ = default_page_ordinal_.CreateAfter(); | 876 install_page_ = default_page_ordinal_.CreateAfter(); |
891 prefs()->OnExtensionInstalled(app_.get(), | 877 prefs()->OnExtensionInstalled(app_.get(), |
892 Extension::ENABLED, | 878 Extension::ENABLED, |
893 false, | |
894 false, | |
895 install_page_, | 879 install_page_, |
896 std::string()); | 880 std::string()); |
897 } | 881 } |
898 | 882 |
899 private: | 883 private: |
900 syncer::StringOrdinal install_page_; | 884 syncer::StringOrdinal install_page_; |
901 }; | 885 }; |
902 TEST_F(ChromeAppSortingDefaultOrdinalOverriddenByInstallPage, | 886 TEST_F(ChromeAppSortingDefaultOrdinalOverriddenByInstallPage, |
903 ChromeAppSortingDefaultOrdinalOverriddenByInstallPage) {} | 887 ChromeAppSortingDefaultOrdinalOverriddenByInstallPage) {} |
904 | 888 |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
969 } | 953 } |
970 | 954 |
971 private: | 955 private: |
972 scoped_refptr<Extension> other_app_; | 956 scoped_refptr<Extension> other_app_; |
973 scoped_refptr<Extension> yet_another_app_; | 957 scoped_refptr<Extension> yet_another_app_; |
974 }; | 958 }; |
975 TEST_F(ChromeAppSortingDefaultOrdinalNoCollision, | 959 TEST_F(ChromeAppSortingDefaultOrdinalNoCollision, |
976 ChromeAppSortingDefaultOrdinalNoCollision) {} | 960 ChromeAppSortingDefaultOrdinalNoCollision) {} |
977 | 961 |
978 } // namespace extensions | 962 } // namespace extensions |
OLD | NEW |