diff options
Diffstat (limited to 'chromium/ui/gfx/image/image_unittest_util.h')
-rw-r--r-- | chromium/ui/gfx/image/image_unittest_util.h | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/chromium/ui/gfx/image/image_unittest_util.h b/chromium/ui/gfx/image/image_unittest_util.h new file mode 100644 index 00000000000..a2293c8688b --- /dev/null +++ b/chromium/ui/gfx/image/image_unittest_util.h @@ -0,0 +1,90 @@ +// 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. + +// Because the unit tests for gfx::Image are spread across multiple +// implementation files, this header contains the reusable components. + +#ifndef UI_GFX_IMAGE_IMAGE_UNITTEST_UTIL_H_ +#define UI_GFX_IMAGE_IMAGE_UNITTEST_UTIL_H_ + +#include "ui/base/layout.h" +#include "ui/gfx/image/image.h" +#include "third_party/skia/include/core/SkColor.h" + +namespace gfx { +namespace test { + +#if defined(OS_IOS) +typedef UIImage* PlatformImage; +#elif defined(OS_MACOSX) +typedef NSImage* PlatformImage; +#elif defined(TOOLKIT_GTK) +typedef GdkPixbuf* PlatformImage; +#else +typedef gfx::ImageSkia PlatformImage; +#endif + +std::vector<ui::ScaleFactor> Get1xAnd2xScaleFactors(); + +// Create a bitmap of |width|x|height|. +const SkBitmap CreateBitmap(int width, int height); + +// Creates an ImageSkia of |width|x|height| DIP with bitmap data for an +// arbitrary scale factor. +gfx::ImageSkia CreateImageSkia(int width, int height); + +// Returns PNG encoded bytes for a bitmap of |edge_size|x|edge_size|. +scoped_refptr<base::RefCountedMemory> CreatePNGBytes(int edge_size); + +// TODO(rohitrao): Remove the no-argument version of CreateImage(). +gfx::Image CreateImage(); +gfx::Image CreateImage(int width, int height); + +// Returns true if the images are equal. Converts the images to ImageSkia to +// compare them. +bool IsEqual(const gfx::Image& image1, const gfx::Image& image2); + +bool IsEqual(const SkBitmap& bitmap1, const SkBitmap& bitmap2); + +bool IsEqual(const scoped_refptr<base::RefCountedMemory>& bytes, + const SkBitmap& bitmap); + +// An image which was not successfully decoded to PNG should be a red bitmap. +// Fails if the bitmap is not red. +void CheckImageIndicatesPNGDecodeFailure(const gfx::Image& image); + +// Returns true if the structure of |image_skia| matches the structure +// described by |width|, |height|, and |scale_factors|. +// The structure matches if: +// - |image_skia| is non null. +// - |image_skia| has ImageSkiaReps of |scale_factors|. +// - Each of the ImageSkiaReps has a pixel size of |image_skia|.size() * +// scale_factor. +bool ImageSkiaStructureMatches( + const gfx::ImageSkia& image_skia, + int width, + int height, + const std::vector<ui::ScaleFactor>& scale_factors); + +bool IsEmpty(const gfx::Image& image); + +PlatformImage CreatePlatformImage(); + +gfx::Image::RepresentationType GetPlatformRepresentationType(); + +PlatformImage ToPlatformType(const gfx::Image& image); +PlatformImage CopyPlatformType(const gfx::Image& image); + +SkColor GetPlatformImageColor(PlatformImage image, int x, int y); +void CheckColors(SkColor color1, SkColor color2); +void CheckIsTransparent(SkColor color); + +bool IsPlatformImageValid(PlatformImage image); + +bool PlatformImagesEqual(PlatformImage image1, PlatformImage image2); + +} // namespace test +} // namespace gfx + +#endif // UI_GFX_IMAGE_IMAGE_UNITTEST_UTIL_H_ |