| Index: tests/PictureShaderTest.cpp
|
| diff --git a/tests/PictureShaderTest.cpp b/tests/PictureShaderTest.cpp
|
| index 8d933db6003b1e9dcb3809ce9f86e3a6c29e1227..113f4f86eeacb669f62304a36ea4b3d6d08538ad 100644
|
| --- a/tests/PictureShaderTest.cpp
|
| +++ b/tests/PictureShaderTest.cpp
|
| @@ -5,22 +5,38 @@
|
| * found in the LICENSE file.
|
| */
|
|
|
| +#include "SkCanvas.h"
|
| #include "SkPicture.h"
|
| #include "SkPictureRecorder.h"
|
| #include "SkShader.h"
|
| #include "Test.h"
|
|
|
| // Test that attempting to create a picture shader with a NULL picture or
|
| -// empty picture returns NULL.
|
| +// empty picture returns a shader that draws nothing.
|
| DEF_TEST(PictureShader_empty, reporter) {
|
| - SkShader* shader = SkShader::CreatePictureShader(NULL,
|
| - SkShader::kClamp_TileMode, SkShader::kClamp_TileMode, NULL, NULL);
|
| - REPORTER_ASSERT(reporter, NULL == shader);
|
| + SkPaint paint;
|
| +
|
| + SkBitmap bitmap;
|
| + bitmap.allocN32Pixels(1,1);
|
| +
|
| + SkCanvas canvas(bitmap);
|
| + canvas.clear(SK_ColorGREEN);
|
| +
|
| + SkShader* shader = SkShader::CreatePictureShader(
|
| + NULL, SkShader::kClamp_TileMode, SkShader::kClamp_TileMode, NULL, NULL);
|
| + paint.setShader(shader)->unref();
|
| +
|
| + canvas.drawRect(SkRect::MakeWH(1,1), paint);
|
| + REPORTER_ASSERT(reporter, *bitmap.getAddr32(0,0) == SK_ColorGREEN);
|
| +
|
|
|
| SkPictureRecorder factory;
|
| factory.beginRecording(0, 0, NULL, 0);
|
| SkAutoTUnref<SkPicture> picture(factory.endRecording());
|
| - shader = SkShader::CreatePictureShader(picture.get(),
|
| - SkShader::kClamp_TileMode, SkShader::kClamp_TileMode, NULL, NULL);
|
| - REPORTER_ASSERT(reporter, NULL == shader);
|
| + shader = SkShader::CreatePictureShader(
|
| + picture.get(), SkShader::kClamp_TileMode, SkShader::kClamp_TileMode, NULL, NULL);
|
| + paint.setShader(shader)->unref();
|
| +
|
| + canvas.drawRect(SkRect::MakeWH(1,1), paint);
|
| + REPORTER_ASSERT(reporter, *bitmap.getAddr32(0,0) == SK_ColorGREEN);
|
| }
|
|
|