OLD | NEW |
---|---|
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 Loading... | |
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 Loading... | |
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 } |
OLD | NEW |