Index: chrome/browser/ui/app_list/apps_model_builder_unittest.cc |
diff --git a/chrome/browser/ui/app_list/apps_model_builder_unittest.cc b/chrome/browser/ui/app_list/apps_model_builder_unittest.cc |
index fb67902e5efd497fb24abe468390bcab337d45be..2d4738e8107e4cf7e7e15d2661e7d02616c8ca41 100644 |
--- a/chrome/browser/ui/app_list/apps_model_builder_unittest.cc |
+++ b/chrome/browser/ui/app_list/apps_model_builder_unittest.cc |
@@ -8,8 +8,12 @@ |
#include "base/file_path.h" |
#include "base/memory/scoped_ptr.h" |
+#include "chrome/browser/extensions/extension_function_test_utils.h" |
#include "chrome/browser/extensions/extension_service_unittest.h" |
#include "chrome/browser/extensions/extension_sorting.h" |
+#include "chrome/browser/prefs/pref_service.h" |
+#include "chrome/common/extensions/manifest.h" |
+#include "chrome/common/pref_names.h" |
#include "chrome/test/base/testing_profile.h" |
#include "testing/gtest/include/gtest/gtest.h" |
#include "ui/app_list/app_list_item_model.h" |
@@ -68,6 +72,43 @@ TEST_F(AppsModelBuilderTest, Build) { |
GetModelContent(model.get())); |
} |
+TEST_F(AppsModelBuilderTest, HideWebStore) { |
+ // Install a "web store" app. |
+ std::string err; |
+ DictionaryValue value; |
+ value.SetString("name", "webstore"); |
+ value.SetString("version", "0.0"); |
+ value.SetString("app.launch.web_url", "http://google.com"); |
+ scoped_refptr<extensions::Extension> store = |
+ extensions::Extension::Create( |
+ FilePath(), |
+ extensions::Extension::INTERNAL, |
+ value, |
+ extensions::Extension::WAS_INSTALLED_BY_DEFAULT, |
+ std::string(extension_misc::kWebStoreAppId), |
+ &err); |
+ EXPECT_EQ(err, ""); |
+ service_->AddExtension(store); |
+ |
+ // Web store should be present in the AppListModel. |
+ scoped_ptr<app_list::AppListModel::Apps> model( |
+ new app_list::AppListModel::Apps); |
+ AppsModelBuilder builder(profile_.get(), model.get(), NULL); |
+ builder.Build(); |
+ EXPECT_EQ(std::string("Packaged App 1,Packaged App 2,webstore,Hosted App"), |
+ GetModelContent(model.get())); |
+ |
+ // Activate the HideWebStoreIcon policy. |
+ profile_.get()->GetPrefs()->SetBoolean(prefs::kHideWebStoreIcon, true); |
tfarina
2013/01/24 14:15:23
profile_->GetPrefs()
dconnelly
2013/01/24 14:30:51
Done.
|
+ |
+ // Web store should NOT be in the AppListModel. |
+ model.reset(new app_list::AppListModel::Apps); |
+ AppsModelBuilder builder2(profile_.get(), model.get(), NULL); |
+ builder2.Build(); |
+ EXPECT_EQ(std::string("Packaged App 1,Packaged App 2,Hosted App"), |
+ GetModelContent(model.get())); |
+} |
+ |
TEST_F(AppsModelBuilderTest, DisableAndEnable) { |
scoped_ptr<app_list::AppListModel::Apps> model( |
new app_list::AppListModel::Apps); |