Home | History | Annotate | Download | only in manifest_tests
      1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "base/memory/linked_ptr.h"
      6 #include "chrome/common/extensions/extension.h"
      7 #include "chrome/common/extensions/extension_constants.h"
      8 #include "chrome/common/extensions/extension_icon_set.h"
      9 #include "chrome/common/extensions/manifest_handlers/icons_handler.h"
     10 #include "chrome/common/extensions/manifest_tests/extension_manifest_test.h"
     11 #include "testing/gtest/include/gtest/gtest.h"
     12 
     13 namespace extensions {
     14 
     15 class IconsManifestTest : public ExtensionManifestTest {
     16 };
     17 
     18 TEST_F(IconsManifestTest, NormalizeIconPaths) {
     19   scoped_refptr<extensions::Extension> extension(
     20       LoadAndExpectSuccess("normalize_icon_paths.json"));
     21   const ExtensionIconSet& icons = IconsInfo::GetIcons(extension.get());
     22 
     23   EXPECT_EQ("16.png", icons.Get(extension_misc::EXTENSION_ICON_BITTY,
     24                                 ExtensionIconSet::MATCH_EXACTLY));
     25   EXPECT_EQ("48.png", icons.Get(extension_misc::EXTENSION_ICON_MEDIUM,
     26                                 ExtensionIconSet::MATCH_EXACTLY));
     27 }
     28 
     29 TEST_F(IconsManifestTest, InvalidIconSizes) {
     30   scoped_refptr<extensions::Extension> extension(
     31       LoadAndExpectSuccess("init_ignored_icon_size.json"));
     32   EXPECT_EQ("",
     33             IconsInfo::GetIcons(extension.get())
     34                 .Get(300, ExtensionIconSet::MATCH_EXACTLY));
     35 }
     36 
     37 TEST_F(IconsManifestTest, ValidIconSizes) {
     38   scoped_refptr<extensions::Extension> extension(
     39       LoadAndExpectSuccess("init_valid_icon_size.json"));
     40   const ExtensionIconSet& icons = IconsInfo::GetIcons(extension.get());
     41 
     42   EXPECT_EQ("16.png", icons.Get(extension_misc::EXTENSION_ICON_BITTY,
     43                                 ExtensionIconSet::MATCH_EXACTLY));
     44   EXPECT_EQ("24.png", icons.Get(extension_misc::EXTENSION_ICON_SMALLISH,
     45                                 ExtensionIconSet::MATCH_EXACTLY));
     46   EXPECT_EQ("32.png", icons.Get(extension_misc::EXTENSION_ICON_SMALL,
     47                                 ExtensionIconSet::MATCH_EXACTLY));
     48   EXPECT_EQ("48.png", icons.Get(extension_misc::EXTENSION_ICON_MEDIUM,
     49                                 ExtensionIconSet::MATCH_EXACTLY));
     50   EXPECT_EQ("128.png", icons.Get(extension_misc::EXTENSION_ICON_LARGE,
     51                                  ExtensionIconSet::MATCH_EXACTLY));
     52   EXPECT_EQ("256.png", icons.Get(extension_misc::EXTENSION_ICON_EXTRA_LARGE,
     53                                  ExtensionIconSet::MATCH_EXACTLY));
     54   EXPECT_EQ("512.png", icons.Get(extension_misc::EXTENSION_ICON_GIGANTOR,
     55                                  ExtensionIconSet::MATCH_EXACTLY));
     56 }
     57 
     58 }  // namespace extensions
     59