diff options
Diffstat (limited to 'tests/ImageGeneratorTest.cpp')
-rw-r--r-- | tests/ImageGeneratorTest.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/tests/ImageGeneratorTest.cpp b/tests/ImageGeneratorTest.cpp index bc9dca4b18..5cfd410ad0 100644 --- a/tests/ImageGeneratorTest.cpp +++ b/tests/ImageGeneratorTest.cpp @@ -113,7 +113,7 @@ DEF_TEST(PictureImageGenerator, reporter) { #include "SkImagePriv.h" DEF_TEST(ColorXformGenerator, r) { - SkBitmap a, b, c, d; + SkBitmap a, b, c, d, e; SkImageInfo info = SkImageInfo::MakeS32(1, 1, kPremul_SkAlphaType); a.allocPixels(info); b.allocPixels(info.makeColorSpace(nullptr)); @@ -121,16 +121,20 @@ DEF_TEST(ColorXformGenerator, r) { SkColorSpace::kRec2020_Gamut))); d.allocPixels(info.makeColorSpace(SkColorSpace::MakeRGB(SkColorSpace::kSRGB_RenderTargetGamma, SkColorSpace::kAdobeRGB_Gamut))); + e.allocPixels(info); a.eraseColor(0); b.eraseColor(1); c.eraseColor(2); d.eraseColor(3); + e.eraseColor(4); sk_sp<SkColorSpace> srgb = SkColorSpace::MakeSRGB(); sk_sp<SkImage> ia = SkMakeImageInColorSpace(a, srgb, 0); sk_sp<SkImage> ib = SkMakeImageInColorSpace(b, srgb, b.getGenerationID()); sk_sp<SkImage> ic = SkMakeImageInColorSpace(c, srgb, c.getGenerationID()); sk_sp<SkImage> id = SkMakeImageInColorSpace(d, srgb, 0); + sk_sp<SkImage> ie = SkMakeImageInColorSpace(e, srgb, e.getGenerationID(), + kAlways_SkCopyPixelsMode); // Equal because sRGB->sRGB is a no-op. REPORTER_ASSERT(r, ia->uniqueID() == a.getGenerationID()); @@ -145,4 +149,7 @@ DEF_TEST(ColorXformGenerator, r) { // Not equal because sRGB->Adobe is not a no-op and we do not pass an explicit id. REPORTER_ASSERT(r, id->uniqueID() != d.getGenerationID()); + + // Equal because we pass in an explicit id. Forcing a copy, but still want the id respected. + REPORTER_ASSERT(r, ie->uniqueID() == e.getGenerationID()); } |