1 // Copyright (c) 2010 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 "chrome/common/extensions/extension_icon_set.h" 6 7 #include "testing/gtest/include/gtest/gtest.h" 8 9 TEST(ExtensionIconSet, Basic) { 10 ExtensionIconSet icons; 11 EXPECT_EQ("", icons.Get(42, ExtensionIconSet::MATCH_EXACTLY)); 12 EXPECT_EQ("", icons.Get(42, ExtensionIconSet::MATCH_BIGGER)); 13 EXPECT_EQ("", icons.Get(42, ExtensionIconSet::MATCH_SMALLER)); 14 EXPECT_TRUE(icons.map().empty()); 15 16 icons.Add(42, "42.png"); 17 EXPECT_EQ("42.png", icons.Get(42, ExtensionIconSet::MATCH_EXACTLY)); 18 EXPECT_EQ("42.png", icons.Get(42, ExtensionIconSet::MATCH_BIGGER)); 19 EXPECT_EQ("42.png", icons.Get(42, ExtensionIconSet::MATCH_SMALLER)); 20 EXPECT_EQ("42.png", icons.Get(41, ExtensionIconSet::MATCH_BIGGER)); 21 EXPECT_EQ("42.png", icons.Get(43, ExtensionIconSet::MATCH_SMALLER)); 22 EXPECT_EQ("", icons.Get(41, ExtensionIconSet::MATCH_SMALLER)); 23 EXPECT_EQ("", icons.Get(43, ExtensionIconSet::MATCH_BIGGER)); 24 25 icons.Add(38, "38.png"); 26 icons.Add(40, "40.png"); 27 icons.Add(44, "44.png"); 28 icons.Add(46, "46.png"); 29 30 EXPECT_EQ("", icons.Get(41, ExtensionIconSet::MATCH_EXACTLY)); 31 EXPECT_EQ("40.png", icons.Get(41, ExtensionIconSet::MATCH_SMALLER)); 32 EXPECT_EQ("42.png", icons.Get(41, ExtensionIconSet::MATCH_BIGGER)); 33 EXPECT_EQ("", icons.Get(37, ExtensionIconSet::MATCH_SMALLER)); 34 EXPECT_EQ("", icons.Get(47, ExtensionIconSet::MATCH_BIGGER)); 35 } 36 37 TEST(ExtensionIconSet, Values) { 38 ExtensionIconSet icons; 39 EXPECT_FALSE(icons.ContainsPath("foo")); 40 41 icons.Add(1, "foo"); 42 icons.Add(2, "bar"); 43 44 EXPECT_TRUE(icons.ContainsPath("foo")); 45 EXPECT_TRUE(icons.ContainsPath("bar")); 46 EXPECT_FALSE(icons.ContainsPath("baz")); 47 EXPECT_FALSE(icons.ContainsPath("")); 48 49 icons.Clear(); 50 EXPECT_FALSE(icons.ContainsPath("foo")); 51 } 52