1/*
2 * Copyright 2014 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
8#include "SkImageGenerator.h"
9#include "Test.h"
10
11DEF_TEST(ImageGenerator, reporter) {
12    SkImageGenerator ig;
13    SkISize sizes[3];
14    sizes[0] = SkISize::Make(200, 200);
15    sizes[1] = SkISize::Make(100, 100);
16    sizes[2] = SkISize::Make( 50,  50);
17    void*   planes[3] = { NULL };
18    size_t  rowBytes[3] = { 0 };
19    SkYUVColorSpace colorSpace;
20
21    // Check that the YUV decoding API does not cause any crashes
22    ig.getYUV8Planes(sizes, NULL, NULL, &colorSpace);
23    ig.getYUV8Planes(sizes, NULL, NULL, NULL);
24    ig.getYUV8Planes(sizes, planes, NULL, NULL);
25    ig.getYUV8Planes(sizes, NULL, rowBytes, NULL);
26    ig.getYUV8Planes(sizes, planes, rowBytes, NULL);
27    ig.getYUV8Planes(sizes, planes, rowBytes, &colorSpace);
28
29    int dummy;
30    planes[0] = planes[1] = planes[2] = &dummy;
31    rowBytes[0] = rowBytes[1] = rowBytes[2] = 250;
32
33    ig.getYUV8Planes(sizes, planes, rowBytes, &colorSpace);
34}
35