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

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

Issue 1066623008: Sync bookmark app icon urls and sizes, and download icons for new apps. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix failing tests and extra checks Created 5 years, 8 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/bookmark_app_helper.h" 5 #include "chrome/browser/extensions/bookmark_app_helper.h"
6 6
7 #include "base/strings/utf_string_conversions.h" 7 #include "base/strings/utf_string_conversions.h"
8 #include "chrome/browser/extensions/extension_service.h" 8 #include "chrome/browser/extensions/extension_service.h"
9 #include "chrome/browser/extensions/extension_service_test_base.h" 9 #include "chrome/browser/extensions/extension_service_test_base.h"
10 #include "chrome/common/extensions/manifest_handlers/app_launch_info.h" 10 #include "chrome/common/extensions/manifest_handlers/app_launch_info.h"
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 icon_info.data = CreateSquareBitmapWithColor(size, color); 90 icon_info.data = CreateSquareBitmapWithColor(size, color);
91 return icon_info; 91 return icon_info;
92 } 92 }
93 93
94 void ValidateWebApplicationInfo(base::Closure callback, 94 void ValidateWebApplicationInfo(base::Closure callback,
95 const WebApplicationInfo& expected, 95 const WebApplicationInfo& expected,
96 const WebApplicationInfo& actual) { 96 const WebApplicationInfo& actual) {
97 EXPECT_EQ(expected.title, actual.title); 97 EXPECT_EQ(expected.title, actual.title);
98 EXPECT_EQ(expected.description, actual.description); 98 EXPECT_EQ(expected.description, actual.description);
99 EXPECT_EQ(expected.app_url, actual.app_url); 99 EXPECT_EQ(expected.app_url, actual.app_url);
100 EXPECT_EQ(expected.icons.size(), actual.icons.size()); 100 // There should be 6 icons, as there are three sizes which need to be
101 for (size_t i = 0; i < expected.icons.size(); ++i) { 101 // generated, and each will generate a 1x and 2x icon.
102 EXPECT_EQ(expected.icons[i].width, actual.icons[i].width); 102 EXPECT_EQ(6u, actual.icons.size());
103 EXPECT_EQ(expected.icons[i].height, actual.icons[i].height);
104 EXPECT_EQ(expected.icons[i].url, actual.icons[i].url);
105 EXPECT_TRUE(
106 gfx::BitmapsAreEqual(expected.icons[i].data, actual.icons[i].data));
107 }
108 callback.Run(); 103 callback.Run();
109 } 104 }
110 105
111 } // namespace 106 } // namespace
112 107
113 namespace extensions { 108 namespace extensions {
calamity 2015/04/28 06:56:35 Where did this go?
114 109
115 class TestBookmarkAppHelper : public BookmarkAppHelper { 110 class TestBookmarkAppHelper : public BookmarkAppHelper {
116 public: 111 public:
117 TestBookmarkAppHelper(ExtensionService* service, 112 TestBookmarkAppHelper(ExtensionService* service,
118 WebApplicationInfo web_app_info, 113 WebApplicationInfo web_app_info,
119 content::WebContents* contents) 114 content::WebContents* contents)
120 : BookmarkAppHelper(service->profile(), web_app_info, contents) {} 115 : BookmarkAppHelper(service->profile(), web_app_info, contents) {}
121 116
122 ~TestBookmarkAppHelper() override {} 117 ~TestBookmarkAppHelper() override {}
123 118
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 base::RunLoop().RunUntilIdle(); 214 base::RunLoop().RunUntilIdle();
220 EXPECT_TRUE(helper.extension()); 215 EXPECT_TRUE(helper.extension());
221 const Extension* extension = 216 const Extension* extension =
222 service_->GetInstalledExtension(helper.extension()->id()); 217 service_->GetInstalledExtension(helper.extension()->id());
223 EXPECT_TRUE(extension); 218 EXPECT_TRUE(extension);
224 EXPECT_EQ(1u, registry()->enabled_extensions().size()); 219 EXPECT_EQ(1u, registry()->enabled_extensions().size());
225 EXPECT_TRUE(extension->from_bookmark()); 220 EXPECT_TRUE(extension->from_bookmark());
226 EXPECT_EQ(kAppTitle, extension->name()); 221 EXPECT_EQ(kAppTitle, extension->name());
227 EXPECT_EQ(kAppDescription, extension->description()); 222 EXPECT_EQ(kAppDescription, extension->description());
228 EXPECT_EQ(GURL(kAppUrl), AppLaunchInfo::GetLaunchWebURL(extension)); 223 EXPECT_EQ(GURL(kAppUrl), AppLaunchInfo::GetLaunchWebURL(extension));
229 // The tiny icon should have been removed and only the generated ones used. 224 EXPECT_FALSE(
230 EXPECT_TRUE(
231 IconsInfo::GetIconResource(extension, kIconSizeTiny, 225 IconsInfo::GetIconResource(extension, kIconSizeTiny,
232 ExtensionIconSet::MATCH_EXACTLY).empty()); 226 ExtensionIconSet::MATCH_EXACTLY).empty());
233 EXPECT_FALSE( 227 EXPECT_FALSE(
234 IconsInfo::GetIconResource( 228 IconsInfo::GetIconResource(
235 extension, kIconSizeSmall, ExtensionIconSet::MATCH_EXACTLY).empty()); 229 extension, kIconSizeSmall, ExtensionIconSet::MATCH_EXACTLY).empty());
236 EXPECT_FALSE( 230 EXPECT_FALSE(
237 IconsInfo::GetIconResource(extension, 231 IconsInfo::GetIconResource(extension,
238 kIconSizeSmall * 2, 232 kIconSizeSmall * 2,
239 ExtensionIconSet::MATCH_EXACTLY).empty()); 233 ExtensionIconSet::MATCH_EXACTLY).empty());
240 EXPECT_FALSE( 234 EXPECT_FALSE(
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
278 base::RunLoop().RunUntilIdle(); 272 base::RunLoop().RunUntilIdle();
279 273
280 { 274 {
281 EXPECT_EQ(1u, registry()->enabled_extensions().size()); 275 EXPECT_EQ(1u, registry()->enabled_extensions().size());
282 const Extension* extension = 276 const Extension* extension =
283 registry()->enabled_extensions().begin()->get(); 277 registry()->enabled_extensions().begin()->get();
284 EXPECT_TRUE(extension->from_bookmark()); 278 EXPECT_TRUE(extension->from_bookmark());
285 EXPECT_EQ(kAlternativeAppTitle, extension->name()); 279 EXPECT_EQ(kAlternativeAppTitle, extension->name());
286 EXPECT_EQ(kAppDescription, extension->description()); 280 EXPECT_EQ(kAppDescription, extension->description());
287 EXPECT_EQ(GURL(kAppUrl), AppLaunchInfo::GetLaunchWebURL(extension)); 281 EXPECT_EQ(GURL(kAppUrl), AppLaunchInfo::GetLaunchWebURL(extension));
288 EXPECT_TRUE(extensions::IconsInfo::GetIconResource( 282 EXPECT_FALSE(extensions::IconsInfo::GetIconResource(
289 extension, kIconSizeSmall, ExtensionIconSet::MATCH_EXACTLY) 283 extension, kIconSizeSmall, ExtensionIconSet::MATCH_EXACTLY)
290 .empty()); 284 .empty());
291 EXPECT_FALSE(extensions::IconsInfo::GetIconResource( 285 EXPECT_FALSE(extensions::IconsInfo::GetIconResource(
292 extension, kIconSizeLarge, ExtensionIconSet::MATCH_EXACTLY) 286 extension, kIconSizeLarge, ExtensionIconSet::MATCH_EXACTLY)
293 .empty()); 287 .empty());
294 } 288 }
295 } 289 }
296 290
297 TEST_F(BookmarkAppHelperExtensionServiceTest, GetWebApplicationInfo) { 291 TEST_F(BookmarkAppHelperExtensionServiceTest, GetWebApplicationInfo) {
298 WebApplicationInfo web_app_info; 292 WebApplicationInfo web_app_info;
299 web_app_info.app_url = GURL(kAppUrl); 293 web_app_info.app_url = GURL(kAppUrl);
300 web_app_info.title = base::UTF8ToUTF16(kAppTitle); 294 web_app_info.title = base::UTF8ToUTF16(kAppTitle);
301 web_app_info.description = base::UTF8ToUTF16(kAppDescription); 295 web_app_info.description = base::UTF8ToUTF16(kAppDescription);
302 296
303 web_app_info.icons.push_back(
304 CreateIconInfoWithBitmap(kIconSizeSmall, SK_ColorRED));
305 web_app_info.icons.push_back(
306 CreateIconInfoWithBitmap(kIconSizeLarge, SK_ColorRED));
307
308 extensions::CreateOrUpdateBookmarkApp(service_, &web_app_info); 297 extensions::CreateOrUpdateBookmarkApp(service_, &web_app_info);
309 base::RunLoop().RunUntilIdle(); 298 base::RunLoop().RunUntilIdle();
310 299
311 EXPECT_EQ(1u, registry()->enabled_extensions().size()); 300 EXPECT_EQ(1u, registry()->enabled_extensions().size());
312 base::RunLoop run_loop; 301 base::RunLoop run_loop;
313 extensions::GetWebApplicationInfoFromApp( 302 extensions::GetWebApplicationInfoFromApp(
314 profile_.get(), registry()->enabled_extensions().begin()->get(), 303 profile_.get(), registry()->enabled_extensions().begin()->get(),
315 base::Bind(&ValidateWebApplicationInfo, run_loop.QuitClosure(), 304 base::Bind(&ValidateWebApplicationInfo, run_loop.QuitClosure(),
316 web_app_info)); 305 web_app_info));
317 run_loop.Run(); 306 run_loop.Run();
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
358 } 347 }
359 348
360 TEST_F(BookmarkAppHelperTest, IsValidBookmarkAppUrl) { 349 TEST_F(BookmarkAppHelperTest, IsValidBookmarkAppUrl) {
361 EXPECT_TRUE(IsValidBookmarkAppUrl(GURL("https://www.chromium.org"))); 350 EXPECT_TRUE(IsValidBookmarkAppUrl(GURL("https://www.chromium.org")));
362 EXPECT_TRUE(IsValidBookmarkAppUrl(GURL("http://www.chromium.org/path"))); 351 EXPECT_TRUE(IsValidBookmarkAppUrl(GURL("http://www.chromium.org/path")));
363 EXPECT_FALSE(IsValidBookmarkAppUrl(GURL("ftp://www.chromium.org"))); 352 EXPECT_FALSE(IsValidBookmarkAppUrl(GURL("ftp://www.chromium.org")));
364 EXPECT_FALSE(IsValidBookmarkAppUrl(GURL("chrome://flags"))); 353 EXPECT_FALSE(IsValidBookmarkAppUrl(GURL("chrome://flags")));
365 } 354 }
366 355
367 } // namespace extensions 356 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698