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 13 matching lines...) Expand all Loading... |
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, | 33 false, |
| 34 false, |
34 syncer::StringOrdinal(), | 35 syncer::StringOrdinal(), |
35 std::string()); | 36 std::string()); |
36 } | 37 } |
37 | 38 |
38 virtual void Verify() OVERRIDE { | 39 virtual 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 virtual void Initialize() OVERRIDE { | 53 virtual 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, |
62 false, | 63 false, |
| 64 false, |
63 syncer::StringOrdinal(), | 65 syncer::StringOrdinal(), |
64 std::string()); | 66 std::string()); |
65 } | 67 } |
66 | 68 |
67 virtual void Verify() OVERRIDE { | 69 virtual void Verify() OVERRIDE { |
68 syncer::StringOrdinal launch_ordinal = | 70 syncer::StringOrdinal launch_ordinal = |
69 app_sorting()->GetAppLaunchOrdinal(extension_->id()); | 71 app_sorting()->GetAppLaunchOrdinal(extension_->id()); |
70 syncer::StringOrdinal page_ordinal = | 72 syncer::StringOrdinal page_ordinal = |
71 syncer::StringOrdinal::CreateInitialOrdinal(); | 73 syncer::StringOrdinal::CreateInitialOrdinal(); |
72 | 74 |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
106 | 108 |
107 class ChromeAppSortingPageOrdinal : public ChromeAppSortingTest { | 109 class ChromeAppSortingPageOrdinal : public ChromeAppSortingTest { |
108 public: | 110 public: |
109 virtual void Initialize() OVERRIDE { | 111 virtual void Initialize() OVERRIDE { |
110 extension_ = prefs_.AddApp("page_ordinal"); | 112 extension_ = prefs_.AddApp("page_ordinal"); |
111 // Install with a page preference. | 113 // Install with a page preference. |
112 first_page_ = syncer::StringOrdinal::CreateInitialOrdinal(); | 114 first_page_ = syncer::StringOrdinal::CreateInitialOrdinal(); |
113 prefs()->OnExtensionInstalled(extension_.get(), | 115 prefs()->OnExtensionInstalled(extension_.get(), |
114 Extension::ENABLED, | 116 Extension::ENABLED, |
115 false, | 117 false, |
| 118 false, |
116 first_page_, | 119 first_page_, |
117 std::string()); | 120 std::string()); |
118 EXPECT_TRUE(first_page_.Equals( | 121 EXPECT_TRUE(first_page_.Equals( |
119 app_sorting()->GetPageOrdinal(extension_->id()))); | 122 app_sorting()->GetPageOrdinal(extension_->id()))); |
120 EXPECT_EQ(0, app_sorting()->PageStringOrdinalAsInteger(first_page_)); | 123 EXPECT_EQ(0, app_sorting()->PageStringOrdinalAsInteger(first_page_)); |
121 | 124 |
122 scoped_refptr<Extension> extension2 = prefs_.AddApp("page_ordinal_2"); | 125 scoped_refptr<Extension> extension2 = prefs_.AddApp("page_ordinal_2"); |
123 // Install without any page preference. | 126 // Install without any page preference. |
124 prefs()->OnExtensionInstalled(extension2.get(), | 127 prefs()->OnExtensionInstalled(extension2.get(), |
125 Extension::ENABLED, | 128 Extension::ENABLED, |
126 false, | 129 false, |
| 130 false, |
127 syncer::StringOrdinal(), | 131 syncer::StringOrdinal(), |
128 std::string()); | 132 std::string()); |
129 EXPECT_TRUE(first_page_.Equals( | 133 EXPECT_TRUE(first_page_.Equals( |
130 app_sorting()->GetPageOrdinal(extension2->id()))); | 134 app_sorting()->GetPageOrdinal(extension2->id()))); |
131 } | 135 } |
132 virtual void Verify() OVERRIDE { | 136 virtual void Verify() OVERRIDE { |
133 // Set the page ordinal. | 137 // Set the page ordinal. |
134 syncer::StringOrdinal new_page = first_page_.CreateAfter(); | 138 syncer::StringOrdinal new_page = first_page_.CreateAfter(); |
135 app_sorting()->SetPageOrdinal(extension_->id(), new_page); | 139 app_sorting()->SetPageOrdinal(extension_->id(), new_page); |
136 // Verify the page ordinal. | 140 // Verify the page ordinal. |
(...skipping 496 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
633 simple_dict.SetString(keys::kApp, "true"); | 637 simple_dict.SetString(keys::kApp, "true"); |
634 simple_dict.SetString(keys::kLaunchLocalPath, "fake.html"); | 638 simple_dict.SetString(keys::kLaunchLocalPath, "fake.html"); |
635 | 639 |
636 std::string error; | 640 std::string error; |
637 app1_scoped_ = Extension::Create( | 641 app1_scoped_ = Extension::Create( |
638 prefs_.temp_dir().AppendASCII("app1_"), Manifest::EXTERNAL_PREF, | 642 prefs_.temp_dir().AppendASCII("app1_"), Manifest::EXTERNAL_PREF, |
639 simple_dict, Extension::NO_FLAGS, &error); | 643 simple_dict, Extension::NO_FLAGS, &error); |
640 prefs()->OnExtensionInstalled(app1_scoped_.get(), | 644 prefs()->OnExtensionInstalled(app1_scoped_.get(), |
641 Extension::ENABLED, | 645 Extension::ENABLED, |
642 false, | 646 false, |
| 647 false, |
643 syncer::StringOrdinal(), | 648 syncer::StringOrdinal(), |
644 std::string()); | 649 std::string()); |
645 | 650 |
646 app2_scoped_ = Extension::Create( | 651 app2_scoped_ = Extension::Create( |
647 prefs_.temp_dir().AppendASCII("app2_"), Manifest::EXTERNAL_PREF, | 652 prefs_.temp_dir().AppendASCII("app2_"), Manifest::EXTERNAL_PREF, |
648 simple_dict, Extension::NO_FLAGS, &error); | 653 simple_dict, Extension::NO_FLAGS, &error); |
649 prefs()->OnExtensionInstalled(app2_scoped_.get(), | 654 prefs()->OnExtensionInstalled(app2_scoped_.get(), |
650 Extension::ENABLED, | 655 Extension::ENABLED, |
651 false, | 656 false, |
| 657 false, |
652 syncer::StringOrdinal(), | 658 syncer::StringOrdinal(), |
653 std::string()); | 659 std::string()); |
654 | 660 |
655 app1_ = app1_scoped_.get(); | 661 app1_ = app1_scoped_.get(); |
656 app2_ = app2_scoped_.get(); | 662 app2_ = app2_scoped_.get(); |
657 } | 663 } |
658 virtual ~ChromeAppSortingPreinstalledAppsBase() {} | 664 virtual ~ChromeAppSortingPreinstalledAppsBase() {} |
659 | 665 |
660 protected: | 666 protected: |
661 // Weak references, for convenience. | 667 // Weak references, for convenience. |
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
829 default_app_launch_ordinal_ = | 835 default_app_launch_ordinal_ = |
830 syncer::StringOrdinal::CreateInitialOrdinal().CreateBefore(); | 836 syncer::StringOrdinal::CreateInitialOrdinal().CreateBefore(); |
831 } | 837 } |
832 | 838 |
833 virtual void SetupUserOrdinals() {} | 839 virtual void SetupUserOrdinals() {} |
834 | 840 |
835 virtual void InstallApps() { | 841 virtual void InstallApps() { |
836 prefs()->OnExtensionInstalled(app_.get(), | 842 prefs()->OnExtensionInstalled(app_.get(), |
837 Extension::ENABLED, | 843 Extension::ENABLED, |
838 false, | 844 false, |
| 845 false, |
839 syncer::StringOrdinal(), | 846 syncer::StringOrdinal(), |
840 std::string()); | 847 std::string()); |
841 } | 848 } |
842 | 849 |
843 scoped_refptr<Extension> app_; | 850 scoped_refptr<Extension> app_; |
844 syncer::StringOrdinal default_page_ordinal_; | 851 syncer::StringOrdinal default_page_ordinal_; |
845 syncer::StringOrdinal default_app_launch_ordinal_; | 852 syncer::StringOrdinal default_app_launch_ordinal_; |
846 }; | 853 }; |
847 | 854 |
848 // Tests that the app gets its default ordinals. | 855 // Tests that the app gets its default ordinals. |
(...skipping 25 matching lines...) Expand all Loading... |
874 AppSorting* app_sorting = prefs()->app_sorting(); | 881 AppSorting* app_sorting = prefs()->app_sorting(); |
875 | 882 |
876 EXPECT_FALSE(app_sorting->GetPageOrdinal(app_->id()).Equals( | 883 EXPECT_FALSE(app_sorting->GetPageOrdinal(app_->id()).Equals( |
877 default_page_ordinal_)); | 884 default_page_ordinal_)); |
878 EXPECT_TRUE(app_sorting->GetPageOrdinal(app_->id()).Equals(install_page_)); | 885 EXPECT_TRUE(app_sorting->GetPageOrdinal(app_->id()).Equals(install_page_)); |
879 } | 886 } |
880 | 887 |
881 protected: | 888 protected: |
882 virtual void InstallApps() OVERRIDE { | 889 virtual void InstallApps() OVERRIDE { |
883 install_page_ = default_page_ordinal_.CreateAfter(); | 890 install_page_ = default_page_ordinal_.CreateAfter(); |
884 prefs()->OnExtensionInstalled( | 891 prefs()->OnExtensionInstalled(app_.get(), |
885 app_.get(), Extension::ENABLED, false, install_page_, std::string()); | 892 Extension::ENABLED, |
| 893 false, |
| 894 false, |
| 895 install_page_, |
| 896 std::string()); |
886 } | 897 } |
887 | 898 |
888 private: | 899 private: |
889 syncer::StringOrdinal install_page_; | 900 syncer::StringOrdinal install_page_; |
890 }; | 901 }; |
891 TEST_F(ChromeAppSortingDefaultOrdinalOverriddenByInstallPage, | 902 TEST_F(ChromeAppSortingDefaultOrdinalOverriddenByInstallPage, |
892 ChromeAppSortingDefaultOrdinalOverriddenByInstallPage) {} | 903 ChromeAppSortingDefaultOrdinalOverriddenByInstallPage) {} |
893 | 904 |
894 // Tests that the default ordinals are overridden by user values. | 905 // Tests that the default ordinals are overridden by user values. |
895 class ChromeAppSortingDefaultOrdinalOverriddenByUserValue | 906 class ChromeAppSortingDefaultOrdinalOverriddenByUserValue |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
958 } | 969 } |
959 | 970 |
960 private: | 971 private: |
961 scoped_refptr<Extension> other_app_; | 972 scoped_refptr<Extension> other_app_; |
962 scoped_refptr<Extension> yet_another_app_; | 973 scoped_refptr<Extension> yet_another_app_; |
963 }; | 974 }; |
964 TEST_F(ChromeAppSortingDefaultOrdinalNoCollision, | 975 TEST_F(ChromeAppSortingDefaultOrdinalNoCollision, |
965 ChromeAppSortingDefaultOrdinalNoCollision) {} | 976 ChromeAppSortingDefaultOrdinalNoCollision) {} |
966 | 977 |
967 } // namespace extensions | 978 } // namespace extensions |
OLD | NEW |