Index: extensions/browser/image_util_unittest.cc |
diff --git a/extensions/browser/image_util_unittest.cc b/extensions/browser/image_util_unittest.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..3c0e0ad8f9c689793c64c2b06e95089123fa01dc |
--- /dev/null |
+++ b/extensions/browser/image_util_unittest.cc |
@@ -0,0 +1,52 @@ |
+// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include <string> |
+ |
+#include "extensions/browser/image_util.h" |
+#include "testing/gtest/include/gtest/gtest.h" |
+#include "third_party/skia/include/core/SkColor.h" |
+ |
+namespace extensions { |
+ |
+void RunPassTest(const std::string& css_string, SkColor expected_result) { |
+ SkColor color = 0; |
+ EXPECT_TRUE(image_util::ParseCSSColorString(css_string, &color)); |
+ EXPECT_EQ(color, expected_result); |
+} |
+ |
+void RunFailTest(const std::string& css_string) { |
+ SkColor color = 0; |
+ EXPECT_FALSE(image_util::ParseCSSColorString(css_string, &color)); |
+} |
+ |
+TEST(ImageUtilTest, ChangeBadgeBackgroundNormalCSS) { |
+ RunPassTest("#34006A", SkColorSetARGB(0xFF, 0x34, 0, 0x6A)); |
+} |
+ |
+TEST(ImageUtilTest, ChangeBadgeBackgroundShortCSS) { |
+ RunPassTest("#A1E", SkColorSetARGB(0xFF, 0xAA, 0x11, 0xEE)); |
+} |
+ |
+TEST(ImageUtilTest, ChangeBadgeBackgroundCSSNoHash) { |
+ RunFailTest("11FF22"); |
+} |
+ |
+TEST(ImageUtilTest, ChangeBadgeBackgroundCSSTooShort) { |
+ RunFailTest("#FF22"); |
+} |
+ |
+TEST(ImageUtilTest, ChangeBadgeBackgroundCSSTooLong) { |
+ RunFailTest("#FF22128"); |
+} |
+ |
+TEST(ImageUtilTest, ChangeBadgeBackgroundCSSInvalid) { |
+ RunFailTest("#-22128"); |
+} |
+ |
+TEST(ImageUtilTest, ChangeBadgeBackgroundCSSInvalidWithPlus) { |
+ RunFailTest("#+22128"); |
+} |
+ |
+} // namespace extensions |