Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(153)

Side by Side Diff: chrome/browser/extensions/extension_sorting_unittest.cc

Issue 10977048: Fix bug in disabling sync for default apps (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Fix browser and integration tests, which got broken Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/extension_sorting.h" 5 #include "chrome/browser/extensions/extension_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_manifest_constants.h" 10 #include "chrome/common/extensions/extension_manifest_constants.h"
(...skipping 10 matching lines...) Expand all
21 return prefs()->extension_sorting(); 21 return prefs()->extension_sorting();
22 } 22 }
23 }; 23 };
24 24
25 class ExtensionSortingAppLocation : public ExtensionSortingTest { 25 class ExtensionSortingAppLocation : public ExtensionSortingTest {
26 public: 26 public:
27 virtual void Initialize() OVERRIDE { 27 virtual void Initialize() OVERRIDE {
28 extension_ = prefs_.AddExtension("not_an_app"); 28 extension_ = prefs_.AddExtension("not_an_app");
29 // Non-apps should not have any app launch ordinal or page ordinal. 29 // Non-apps should not have any app launch ordinal or page ordinal.
30 prefs()->OnExtensionInstalled(extension_.get(), Extension::ENABLED, 30 prefs()->OnExtensionInstalled(extension_.get(), Extension::ENABLED,
31 false, syncer::StringOrdinal()); 31 syncer::StringOrdinal());
32 } 32 }
33 33
34 virtual void Verify() OVERRIDE { 34 virtual void Verify() OVERRIDE {
35 EXPECT_FALSE( 35 EXPECT_FALSE(
36 extension_sorting()->GetAppLaunchOrdinal(extension_->id()).IsValid()); 36 extension_sorting()->GetAppLaunchOrdinal(extension_->id()).IsValid());
37 EXPECT_FALSE( 37 EXPECT_FALSE(
38 extension_sorting()->GetPageOrdinal(extension_->id()).IsValid()); 38 extension_sorting()->GetPageOrdinal(extension_->id()).IsValid());
39 } 39 }
40 40
41 private: 41 private:
42 scoped_refptr<Extension> extension_; 42 scoped_refptr<Extension> extension_;
43 }; 43 };
44 TEST_F(ExtensionSortingAppLocation, ExtensionSortingAppLocation) {} 44 TEST_F(ExtensionSortingAppLocation, ExtensionSortingAppLocation) {}
45 45
46 class ExtensionSortingAppLaunchOrdinal : public ExtensionSortingTest { 46 class ExtensionSortingAppLaunchOrdinal : public ExtensionSortingTest {
47 public: 47 public:
48 virtual void Initialize() OVERRIDE { 48 virtual void Initialize() OVERRIDE {
49 // No extensions yet. 49 // No extensions yet.
50 syncer::StringOrdinal page = syncer::StringOrdinal::CreateInitialOrdinal(); 50 syncer::StringOrdinal page = syncer::StringOrdinal::CreateInitialOrdinal();
51 EXPECT_TRUE(syncer::StringOrdinal::CreateInitialOrdinal().Equals( 51 EXPECT_TRUE(syncer::StringOrdinal::CreateInitialOrdinal().Equals(
52 extension_sorting()->CreateNextAppLaunchOrdinal(page))); 52 extension_sorting()->CreateNextAppLaunchOrdinal(page)));
53 53
54 extension_ = prefs_.AddApp("on_extension_installed"); 54 extension_ = prefs_.AddApp("on_extension_installed");
55 EXPECT_FALSE(prefs()->IsExtensionDisabled(extension_->id())); 55 EXPECT_FALSE(prefs()->IsExtensionDisabled(extension_->id()));
56 prefs()->OnExtensionInstalled(extension_.get(), Extension::ENABLED, 56 prefs()->OnExtensionInstalled(extension_.get(), Extension::ENABLED,
57 false, syncer::StringOrdinal()); 57 syncer::StringOrdinal());
58 } 58 }
59 59
60 virtual void Verify() OVERRIDE { 60 virtual void Verify() OVERRIDE {
61 syncer::StringOrdinal launch_ordinal = 61 syncer::StringOrdinal launch_ordinal =
62 extension_sorting()->GetAppLaunchOrdinal(extension_->id()); 62 extension_sorting()->GetAppLaunchOrdinal(extension_->id());
63 syncer::StringOrdinal page_ordinal = 63 syncer::StringOrdinal page_ordinal =
64 syncer::StringOrdinal::CreateInitialOrdinal(); 64 syncer::StringOrdinal::CreateInitialOrdinal();
65 65
66 // Extension should have been assigned a valid StringOrdinal. 66 // Extension should have been assigned a valid StringOrdinal.
67 EXPECT_TRUE(launch_ordinal.IsValid()); 67 EXPECT_TRUE(launch_ordinal.IsValid());
(...skipping 29 matching lines...) Expand all
97 }; 97 };
98 TEST_F(ExtensionSortingAppLaunchOrdinal, ExtensionSortingAppLaunchOrdinal) {} 98 TEST_F(ExtensionSortingAppLaunchOrdinal, ExtensionSortingAppLaunchOrdinal) {}
99 99
100 class ExtensionSortingPageOrdinal : public ExtensionSortingTest { 100 class ExtensionSortingPageOrdinal : public ExtensionSortingTest {
101 public: 101 public:
102 virtual void Initialize() OVERRIDE { 102 virtual void Initialize() OVERRIDE {
103 extension_ = prefs_.AddApp("page_ordinal"); 103 extension_ = prefs_.AddApp("page_ordinal");
104 // Install with a page preference. 104 // Install with a page preference.
105 first_page_ = syncer::StringOrdinal::CreateInitialOrdinal(); 105 first_page_ = syncer::StringOrdinal::CreateInitialOrdinal();
106 prefs()->OnExtensionInstalled(extension_.get(), Extension::ENABLED, 106 prefs()->OnExtensionInstalled(extension_.get(), Extension::ENABLED,
107 false, first_page_); 107 first_page_);
108 EXPECT_TRUE(first_page_.Equals( 108 EXPECT_TRUE(first_page_.Equals(
109 extension_sorting()->GetPageOrdinal(extension_->id()))); 109 extension_sorting()->GetPageOrdinal(extension_->id())));
110 EXPECT_EQ(0, extension_sorting()->PageStringOrdinalAsInteger(first_page_)); 110 EXPECT_EQ(0, extension_sorting()->PageStringOrdinalAsInteger(first_page_));
111 111
112 scoped_refptr<Extension> extension2 = prefs_.AddApp("page_ordinal_2"); 112 scoped_refptr<Extension> extension2 = prefs_.AddApp("page_ordinal_2");
113 // Install without any page preference. 113 // Install without any page preference.
114 prefs()->OnExtensionInstalled(extension2.get(), Extension::ENABLED, 114 prefs()->OnExtensionInstalled(extension2.get(), Extension::ENABLED,
115 false, syncer::StringOrdinal()); 115 syncer::StringOrdinal());
116 EXPECT_TRUE(first_page_.Equals( 116 EXPECT_TRUE(first_page_.Equals(
117 extension_sorting()->GetPageOrdinal(extension2->id()))); 117 extension_sorting()->GetPageOrdinal(extension2->id())));
118 } 118 }
119 virtual void Verify() OVERRIDE { 119 virtual void Verify() OVERRIDE {
120 // Set the page ordinal. 120 // Set the page ordinal.
121 syncer::StringOrdinal new_page = first_page_.CreateAfter(); 121 syncer::StringOrdinal new_page = first_page_.CreateAfter();
122 extension_sorting()->SetPageOrdinal(extension_->id(), new_page); 122 extension_sorting()->SetPageOrdinal(extension_->id(), new_page);
123 // Verify the page ordinal. 123 // Verify the page ordinal.
124 EXPECT_TRUE( 124 EXPECT_TRUE(
125 new_page.Equals(extension_sorting()->GetPageOrdinal(extension_->id()))); 125 new_page.Equals(extension_sorting()->GetPageOrdinal(extension_->id())));
(...skipping 498 matching lines...) Expand 10 before | Expand all | Expand 10 after
624 simple_dict.SetString(keys::kName, "unused"); 624 simple_dict.SetString(keys::kName, "unused");
625 simple_dict.SetString(keys::kApp, "true"); 625 simple_dict.SetString(keys::kApp, "true");
626 simple_dict.SetString(keys::kLaunchLocalPath, "fake.html"); 626 simple_dict.SetString(keys::kLaunchLocalPath, "fake.html");
627 627
628 std::string error; 628 std::string error;
629 app1_scoped_ = Extension::Create( 629 app1_scoped_ = Extension::Create(
630 prefs_.temp_dir().AppendASCII("app1_"), Extension::EXTERNAL_PREF, 630 prefs_.temp_dir().AppendASCII("app1_"), Extension::EXTERNAL_PREF,
631 simple_dict, Extension::NO_FLAGS, &error); 631 simple_dict, Extension::NO_FLAGS, &error);
632 prefs()->OnExtensionInstalled(app1_scoped_.get(), 632 prefs()->OnExtensionInstalled(app1_scoped_.get(),
633 Extension::ENABLED, 633 Extension::ENABLED,
634 false,
635 syncer::StringOrdinal()); 634 syncer::StringOrdinal());
636 635
637 app2_scoped_ = Extension::Create( 636 app2_scoped_ = Extension::Create(
638 prefs_.temp_dir().AppendASCII("app2_"), Extension::EXTERNAL_PREF, 637 prefs_.temp_dir().AppendASCII("app2_"), Extension::EXTERNAL_PREF,
639 simple_dict, Extension::NO_FLAGS, &error); 638 simple_dict, Extension::NO_FLAGS, &error);
640 prefs()->OnExtensionInstalled(app2_scoped_.get(), 639 prefs()->OnExtensionInstalled(app2_scoped_.get(),
641 Extension::ENABLED, 640 Extension::ENABLED,
642 false,
643 syncer::StringOrdinal()); 641 syncer::StringOrdinal());
644 642
645 app1_ = app1_scoped_.get(); 643 app1_ = app1_scoped_.get();
646 app2_ = app2_scoped_.get(); 644 app2_ = app2_scoped_.get();
647 } 645 }
648 virtual ~ExtensionSortingPreinstalledAppsBase() {} 646 virtual ~ExtensionSortingPreinstalledAppsBase() {}
649 647
650 protected: 648 protected:
651 // Weak references, for convenience. 649 // Weak references, for convenience.
652 Extension* app1_; 650 Extension* app1_;
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
817 default_page_ordinal_ = 815 default_page_ordinal_ =
818 syncer::StringOrdinal::CreateInitialOrdinal().CreateAfter(); 816 syncer::StringOrdinal::CreateInitialOrdinal().CreateAfter();
819 default_app_launch_ordinal_ = 817 default_app_launch_ordinal_ =
820 syncer::StringOrdinal::CreateInitialOrdinal().CreateBefore(); 818 syncer::StringOrdinal::CreateInitialOrdinal().CreateBefore();
821 } 819 }
822 820
823 virtual void SetupUserOrdinals() {} 821 virtual void SetupUserOrdinals() {}
824 822
825 virtual void InstallApps() { 823 virtual void InstallApps() {
826 prefs()->OnExtensionInstalled(app_.get(), Extension::ENABLED, 824 prefs()->OnExtensionInstalled(app_.get(), Extension::ENABLED,
827 false, syncer::StringOrdinal()); 825 syncer::StringOrdinal());
828 } 826 }
829 827
830 scoped_refptr<Extension> app_; 828 scoped_refptr<Extension> app_;
831 syncer::StringOrdinal default_page_ordinal_; 829 syncer::StringOrdinal default_page_ordinal_;
832 syncer::StringOrdinal default_app_launch_ordinal_; 830 syncer::StringOrdinal default_app_launch_ordinal_;
833 }; 831 };
834 832
835 // Tests that the app gets its default ordinals. 833 // Tests that the app gets its default ordinals.
836 class ExtensionSortingDefaultOrdinals 834 class ExtensionSortingDefaultOrdinals
837 : public ExtensionSortingDefaultOrdinalsBase { 835 : public ExtensionSortingDefaultOrdinalsBase {
(...skipping 25 matching lines...) Expand all
863 EXPECT_FALSE(extension_sorting->GetPageOrdinal(app_->id()).Equals( 861 EXPECT_FALSE(extension_sorting->GetPageOrdinal(app_->id()).Equals(
864 default_page_ordinal_)); 862 default_page_ordinal_));
865 EXPECT_TRUE(extension_sorting->GetPageOrdinal(app_->id()).Equals( 863 EXPECT_TRUE(extension_sorting->GetPageOrdinal(app_->id()).Equals(
866 install_page_)); 864 install_page_));
867 } 865 }
868 866
869 protected: 867 protected:
870 virtual void InstallApps() OVERRIDE { 868 virtual void InstallApps() OVERRIDE {
871 install_page_ = default_page_ordinal_.CreateAfter(); 869 install_page_ = default_page_ordinal_.CreateAfter();
872 prefs()->OnExtensionInstalled(app_.get(), Extension::ENABLED, 870 prefs()->OnExtensionInstalled(app_.get(), Extension::ENABLED,
873 false, install_page_); 871 install_page_);
874 } 872 }
875 873
876 private: 874 private:
877 syncer::StringOrdinal install_page_; 875 syncer::StringOrdinal install_page_;
878 }; 876 };
879 TEST_F(ExtensionSortingDefaultOrdinalOverriddenByInstallPage, 877 TEST_F(ExtensionSortingDefaultOrdinalOverriddenByInstallPage,
880 ExtensionSortingDefaultOrdinalOverriddenByInstallPage) {} 878 ExtensionSortingDefaultOrdinalOverriddenByInstallPage) {}
881 879
882 // Tests that the default ordinals are overridden by user values. 880 // Tests that the default ordinals are overridden by user values.
883 class ExtensionSortingDefaultOrdinalOverriddenByUserValue 881 class ExtensionSortingDefaultOrdinalOverriddenByUserValue
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
939 extension_sorting->SetPageOrdinal(other_app_->id(), default_page_ordinal_); 937 extension_sorting->SetPageOrdinal(other_app_->id(), default_page_ordinal_);
940 extension_sorting->SetAppLaunchOrdinal(other_app_->id(), 938 extension_sorting->SetAppLaunchOrdinal(other_app_->id(),
941 default_app_launch_ordinal_); 939 default_app_launch_ordinal_);
942 } 940 }
943 941
944 private: 942 private:
945 scoped_refptr<Extension> other_app_; 943 scoped_refptr<Extension> other_app_;
946 }; 944 };
947 TEST_F(ExtensionSortingDefaultOrdinalNoCollision, 945 TEST_F(ExtensionSortingDefaultOrdinalNoCollision,
948 ExtensionSortingDefaultOrdinalNoCollision) {} 946 ExtensionSortingDefaultOrdinalNoCollision) {}
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_service_unittest.cc ('k') | chrome/browser/extensions/installed_loader.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698