| Index: chrome/browser/extensions/bookmark_app_helper_unittest.cc
|
| diff --git a/chrome/browser/extensions/bookmark_app_helper_unittest.cc b/chrome/browser/extensions/bookmark_app_helper_unittest.cc
|
| index c042129d794300f1063fd23dd3a1bda67709cb0e..800f3c4374b29ce97bef084ae8ba0855f941283b 100644
|
| --- a/chrome/browser/extensions/bookmark_app_helper_unittest.cc
|
| +++ b/chrome/browser/extensions/bookmark_app_helper_unittest.cc
|
| @@ -23,7 +23,9 @@
|
| namespace {
|
|
|
| const char kAppUrl[] = "http://www.chromium.org";
|
| +const char kAlternativeAppUrl[] = "http://www.notchromium.org";
|
| const char kAppTitle[] = "Test title";
|
| +const char kAppShortName[] = "Test short name";
|
| const char kAlternativeAppTitle[] = "Different test title";
|
| const char kAppDescription[] = "Test description";
|
|
|
| @@ -129,6 +131,10 @@ class TestBookmarkAppHelper : public BookmarkAppHelper {
|
| extension_ = extension;
|
| }
|
|
|
| + void CompleteGetManifest(const content::Manifest& manifest) {
|
| + BookmarkAppHelper::OnDidGetManifest(manifest);
|
| + }
|
| +
|
| void CompleteIconDownload(
|
| bool success,
|
| const std::map<GURL, std::vector<SkBitmap> >& bitmaps) {
|
| @@ -175,6 +181,34 @@ TEST_F(BookmarkAppHelperExtensionServiceTest, CreateBookmarkApp) {
|
| extension, kIconSizeSmall, ExtensionIconSet::MATCH_EXACTLY).empty());
|
| }
|
|
|
| +TEST_F(BookmarkAppHelperExtensionServiceTest, CreateBookmarkAppWithManifest) {
|
| + WebApplicationInfo web_app_info;
|
| +
|
| + scoped_ptr<content::WebContents> contents(
|
| + content::WebContentsTester::CreateTestWebContents(profile_.get(), NULL));
|
| + TestBookmarkAppHelper helper(service_, web_app_info, contents.get());
|
| + helper.Create(base::Bind(&TestBookmarkAppHelper::CreationComplete,
|
| + base::Unretained(&helper)));
|
| +
|
| + content::Manifest manifest;
|
| + manifest.start_url = GURL(kAppUrl);
|
| + manifest.name = base::NullableString16(base::UTF8ToUTF16(kAppTitle), false);
|
| + helper.CompleteGetManifest(manifest);
|
| +
|
| + std::map<GURL, std::vector<SkBitmap> > icon_map;
|
| + helper.CompleteIconDownload(true, icon_map);
|
| +
|
| + base::RunLoop().RunUntilIdle();
|
| + EXPECT_TRUE(helper.extension());
|
| + const Extension* extension =
|
| + service_->GetInstalledExtension(helper.extension()->id());
|
| + EXPECT_TRUE(extension);
|
| + EXPECT_EQ(1u, service_->extensions()->size());
|
| + EXPECT_TRUE(extension->from_bookmark());
|
| + EXPECT_EQ(kAppTitle, extension->name());
|
| + EXPECT_EQ(GURL(kAppUrl), AppLaunchInfo::GetLaunchWebURL(extension));
|
| +}
|
| +
|
| TEST_F(BookmarkAppHelperExtensionServiceTest, CreateBookmarkAppNoContents) {
|
| WebApplicationInfo web_app_info;
|
| web_app_info.app_url = GURL(kAppUrl);
|
| @@ -286,6 +320,26 @@ TEST_F(BookmarkAppHelperExtensionServiceTest, GetWebApplicationInfo) {
|
| run_loop.Run();
|
| }
|
|
|
| +TEST_F(BookmarkAppHelperTest, UpdateWebAppInfoFromManifest) {
|
| + WebApplicationInfo web_app_info;
|
| + web_app_info.title = base::UTF8ToUTF16(kAlternativeAppTitle);
|
| + web_app_info.app_url = GURL(kAlternativeAppUrl);
|
| +
|
| + content::Manifest manifest;
|
| + manifest.start_url = GURL(kAppUrl);
|
| + manifest.short_name = base::NullableString16(base::UTF8ToUTF16(kAppShortName),
|
| + false);
|
| +
|
| + BookmarkAppHelper::UpdateWebAppInfoFromManifest(manifest, &web_app_info);
|
| + EXPECT_EQ(base::UTF8ToUTF16(kAppShortName), web_app_info.title);
|
| + EXPECT_EQ(GURL(kAppUrl), web_app_info.app_url);
|
| +
|
| + // Test that |manifest.name| takes priority over |manifest.short_name|
|
| + manifest.name = base::NullableString16(base::UTF8ToUTF16(kAppTitle), false);
|
| + BookmarkAppHelper::UpdateWebAppInfoFromManifest(manifest, &web_app_info);
|
| + EXPECT_EQ(base::UTF8ToUTF16(kAppTitle), web_app_info.title);
|
| +}
|
| +
|
| TEST_F(BookmarkAppHelperTest, ConstrainBitmapsToSizes) {
|
| std::set<int> desired_sizes;
|
| desired_sizes.insert(16);
|
|
|