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
3// found in the LICENSE file.
4
5#include <string>
6
7#include "extensions/browser/image_util.h"
8#include "testing/gtest/include/gtest/gtest.h"
9#include "third_party/skia/include/core/SkColor.h"
10
11namespace extensions {
12
13void RunPassTest(const std::string& css_string, SkColor expected_result) {
14  SkColor color = 0;
15  EXPECT_TRUE(image_util::ParseCSSColorString(css_string, &color));
16  EXPECT_EQ(color, expected_result);
17}
18
19void RunFailTest(const std::string& css_string) {
20  SkColor color = 0;
21  EXPECT_FALSE(image_util::ParseCSSColorString(css_string, &color));
22}
23
24TEST(ImageUtilTest, ChangeBadgeBackgroundNormalCSS) {
25  RunPassTest("#34006A", SkColorSetARGB(0xFF, 0x34, 0, 0x6A));
26}
27
28TEST(ImageUtilTest, ChangeBadgeBackgroundShortCSS) {
29  RunPassTest("#A1E", SkColorSetARGB(0xFF, 0xAA, 0x11, 0xEE));
30}
31
32TEST(ImageUtilTest, ChangeBadgeBackgroundCSSNoHash) {
33  RunFailTest("11FF22");
34}
35
36TEST(ImageUtilTest, ChangeBadgeBackgroundCSSTooShort) {
37  RunFailTest("#FF22");
38}
39
40TEST(ImageUtilTest, ChangeBadgeBackgroundCSSTooLong) {
41  RunFailTest("#FF22128");
42}
43
44TEST(ImageUtilTest, ChangeBadgeBackgroundCSSInvalid) {
45  RunFailTest("#-22128");
46}
47
48TEST(ImageUtilTest, ChangeBadgeBackgroundCSSInvalidWithPlus) {
49  RunFailTest("#+22128");
50}
51
52}  // namespace extensions
53