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

Side by Side Diff: chrome/browser/ui/app_list/apps_model_builder_unittest.cc

Issue 12038067: Filter Web Store app from ChromeOS launcher according to policy. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 11 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/ui/app_list/apps_model_builder.h" 5 #include "chrome/browser/ui/app_list/apps_model_builder.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/file_path.h" 9 #include "base/file_path.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
11 #include "chrome/browser/extensions/extension_function_test_utils.h"
11 #include "chrome/browser/extensions/extension_service_unittest.h" 12 #include "chrome/browser/extensions/extension_service_unittest.h"
12 #include "chrome/browser/extensions/extension_sorting.h" 13 #include "chrome/browser/extensions/extension_sorting.h"
14 #include "chrome/browser/prefs/pref_service.h"
15 #include "chrome/common/extensions/manifest.h"
16 #include "chrome/common/pref_names.h"
13 #include "chrome/test/base/testing_profile.h" 17 #include "chrome/test/base/testing_profile.h"
14 #include "testing/gtest/include/gtest/gtest.h" 18 #include "testing/gtest/include/gtest/gtest.h"
15 #include "ui/app_list/app_list_item_model.h" 19 #include "ui/app_list/app_list_item_model.h"
16 20
17 namespace { 21 namespace {
18 22
19 const char kHostedAppId[] = "dceacbkfkmllgmjmbhgkpjegnodmildf"; 23 const char kHostedAppId[] = "dceacbkfkmllgmjmbhgkpjegnodmildf";
20 const char kPackagedApp1Id[] = "emfkafnhnpcmabnnkckkchdilgeoekbo"; 24 const char kPackagedApp1Id[] = "emfkafnhnpcmabnnkckkchdilgeoekbo";
21 const char kPackagedApp2Id[] = "jlklkagmeajbjiobondfhiekepofmljl"; 25 const char kPackagedApp2Id[] = "jlklkagmeajbjiobondfhiekepofmljl";
22 26
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 scoped_ptr<app_list::AppListModel::Apps> model( 65 scoped_ptr<app_list::AppListModel::Apps> model(
62 new app_list::AppListModel::Apps); 66 new app_list::AppListModel::Apps);
63 AppsModelBuilder builder(profile_.get(), model.get(), NULL); 67 AppsModelBuilder builder(profile_.get(), model.get(), NULL);
64 builder.Build(); 68 builder.Build();
65 69
66 // The apps list would have 3 extension apps in the profile. 70 // The apps list would have 3 extension apps in the profile.
67 EXPECT_EQ(std::string("Packaged App 1,Packaged App 2,Hosted App"), 71 EXPECT_EQ(std::string("Packaged App 1,Packaged App 2,Hosted App"),
68 GetModelContent(model.get())); 72 GetModelContent(model.get()));
69 } 73 }
70 74
75 TEST_F(AppsModelBuilderTest, HideWebStore) {
76 // Install a "web store" app.
77 std::string err;
78 DictionaryValue value;
79 value.SetString("name", "webstore");
80 value.SetString("version", "0.0");
81 value.SetString("app.launch.web_url", "http://google.com");
82 scoped_refptr<extensions::Extension> store =
83 extensions::Extension::Create(
84 FilePath(),
85 extensions::Extension::INTERNAL,
86 value,
87 extensions::Extension::WAS_INSTALLED_BY_DEFAULT,
88 std::string(extension_misc::kWebStoreAppId),
89 &err);
90 EXPECT_EQ(err, "");
91 service_->AddExtension(store);
92
93 // Web store should be present in the AppListModel.
94 scoped_ptr<app_list::AppListModel::Apps> model(
95 new app_list::AppListModel::Apps);
96 AppsModelBuilder builder(profile_.get(), model.get(), NULL);
97 builder.Build();
98 EXPECT_EQ(std::string("Packaged App 1,Packaged App 2,webstore,Hosted App"),
99 GetModelContent(model.get()));
100
101 // Activate the HideWebStoreIcon policy.
102 profile_.get()->GetPrefs()->SetBoolean(prefs::kHideWebStoreIcon, true);
tfarina 2013/01/24 14:15:23 profile_->GetPrefs()
dconnelly 2013/01/24 14:30:51 Done.
103
104 // Web store should NOT be in the AppListModel.
105 model.reset(new app_list::AppListModel::Apps);
106 AppsModelBuilder builder2(profile_.get(), model.get(), NULL);
107 builder2.Build();
108 EXPECT_EQ(std::string("Packaged App 1,Packaged App 2,Hosted App"),
109 GetModelContent(model.get()));
110 }
111
71 TEST_F(AppsModelBuilderTest, DisableAndEnable) { 112 TEST_F(AppsModelBuilderTest, DisableAndEnable) {
72 scoped_ptr<app_list::AppListModel::Apps> model( 113 scoped_ptr<app_list::AppListModel::Apps> model(
73 new app_list::AppListModel::Apps); 114 new app_list::AppListModel::Apps);
74 AppsModelBuilder builder(profile_.get(), model.get(), NULL); 115 AppsModelBuilder builder(profile_.get(), model.get(), NULL);
75 builder.Build(); 116 builder.Build();
76 117
77 service_->DisableExtension(kHostedAppId, 118 service_->DisableExtension(kHostedAppId,
78 extensions::Extension::DISABLE_NONE); 119 extensions::Extension::DISABLE_NONE);
79 EXPECT_EQ(std::string("Packaged App 1,Packaged App 2,Hosted App"), 120 EXPECT_EQ(std::string("Packaged App 1,Packaged App 2,Hosted App"),
80 GetModelContent(model.get())); 121 GetModelContent(model.get()));
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 GetModelContent(model.get())); 178 GetModelContent(model.get()));
138 179
139 service_->OnExtensionMoved(kHostedAppId, kPackagedApp2Id, std::string()); 180 service_->OnExtensionMoved(kHostedAppId, kPackagedApp2Id, std::string());
140 EXPECT_EQ(std::string("Packaged App 1,Packaged App 2,Hosted App"), 181 EXPECT_EQ(std::string("Packaged App 1,Packaged App 2,Hosted App"),
141 GetModelContent(model.get())); 182 GetModelContent(model.get()));
142 183
143 service_->OnExtensionMoved(kHostedAppId, std::string(), kPackagedApp1Id); 184 service_->OnExtensionMoved(kHostedAppId, std::string(), kPackagedApp1Id);
144 EXPECT_EQ(std::string("Hosted App,Packaged App 1,Packaged App 2"), 185 EXPECT_EQ(std::string("Hosted App,Packaged App 1,Packaged App 2"),
145 GetModelContent(model.get())); 186 GetModelContent(model.get()));
146 } 187 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698