| Index: chrome/browser/extensions/tab_helper_unittest.cc
|
| diff --git a/chrome/browser/extensions/tab_helper_unittest.cc b/chrome/browser/extensions/tab_helper_unittest.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..86778e04e4dade26c67f579a63d1be210b2c475d
|
| --- /dev/null
|
| +++ b/chrome/browser/extensions/tab_helper_unittest.cc
|
| @@ -0,0 +1,79 @@
|
| +// Copyright 2013 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 "chrome/browser/extensions/tab_helper.h"
|
| +
|
| +#include "testing/gtest/include/gtest/gtest.h"
|
| +#include "third_party/skia/include/core/SkBitmap.h"
|
| +
|
| +namespace {
|
| +
|
| +SkBitmap CreateSquareBitmapWithColor(int size, SkColor color) {
|
| + SkBitmap bitmap;
|
| + bitmap.setConfig(SkBitmap::kARGB_8888_Config, size, size);
|
| + bitmap.allocPixels();
|
| + bitmap.eraseColor(color);
|
| + return bitmap;
|
| +}
|
| +
|
| +void ValidateBitmapSizeAndColor(SkBitmap bitmap, int size, SkColor color) {
|
| + // Obtain pixel lock to access pixels.
|
| + SkAutoLockPixels lock(bitmap);
|
| + EXPECT_EQ(color, bitmap.getColor(0, 0));
|
| + EXPECT_EQ(size, bitmap.width());
|
| + EXPECT_EQ(size, bitmap.height());
|
| +}
|
| +
|
| +class TabHelperTest : public testing::Test {
|
| + protected:
|
| + TabHelperTest() {
|
| + }
|
| +
|
| + virtual ~TabHelperTest() {
|
| + }
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(TabHelperTest);
|
| +};
|
| +
|
| +} // namespace
|
| +
|
| +TEST_F(TabHelperTest, ConstrainBitmapsToSizes) {
|
| + std::set<int> desired_sizes;
|
| + desired_sizes.insert(16);
|
| + desired_sizes.insert(32);
|
| + desired_sizes.insert(128);
|
| + desired_sizes.insert(256);
|
| +
|
| + {
|
| + std::vector<SkBitmap> bitmaps;
|
| + bitmaps.push_back(CreateSquareBitmapWithColor(16, SK_ColorRED));
|
| + bitmaps.push_back(CreateSquareBitmapWithColor(32, SK_ColorGREEN));
|
| + bitmaps.push_back(CreateSquareBitmapWithColor(48, SK_ColorBLUE));
|
| + bitmaps.push_back(CreateSquareBitmapWithColor(144, SK_ColorYELLOW));
|
| +
|
| + std::vector<SkBitmap> results(
|
| + extensions::TabHelper::ConstrainBitmapsToSizes(bitmaps, desired_sizes));
|
| +
|
| + EXPECT_EQ(3u, results.size());
|
| + ValidateBitmapSizeAndColor(results[0], 16, SK_ColorRED);
|
| + ValidateBitmapSizeAndColor(results[1], 32, SK_ColorGREEN);
|
| + ValidateBitmapSizeAndColor(results[2], 128, SK_ColorYELLOW);
|
| + }
|
| + {
|
| + std::vector<SkBitmap> bitmaps;
|
| + bitmaps.push_back(CreateSquareBitmapWithColor(512, SK_ColorRED));
|
| + bitmaps.push_back(CreateSquareBitmapWithColor(18, SK_ColorGREEN));
|
| + bitmaps.push_back(CreateSquareBitmapWithColor(33, SK_ColorBLUE));
|
| + bitmaps.push_back(CreateSquareBitmapWithColor(17, SK_ColorYELLOW));
|
| +
|
| + std::vector<SkBitmap> results(
|
| + extensions::TabHelper::ConstrainBitmapsToSizes(bitmaps, desired_sizes));
|
| +
|
| + EXPECT_EQ(3u, results.size());
|
| + ValidateBitmapSizeAndColor(results[0], 16, SK_ColorYELLOW);
|
| + ValidateBitmapSizeAndColor(results[1], 32, SK_ColorBLUE);
|
| + ValidateBitmapSizeAndColor(results[2], 256, SK_ColorRED);
|
| + }
|
| +}
|
|
|