| Index: ppapi/tests/test_image_data/test_image_data.cc
|
| ===================================================================
|
| --- ppapi/tests/test_image_data/test_image_data.cc (revision 66783)
|
| +++ ppapi/tests/test_image_data/test_image_data.cc (working copy)
|
| @@ -1,151 +0,0 @@
|
| -// Copyright (c) 2010 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 "ppapi/tests/test_instance.h"
|
| -
|
| -#include "ppapi/cpp/device_context_2d.h"
|
| -#include "ppapi/cpp/image_data.h"
|
| -#include "ppapi/cpp/instance.h"
|
| -#include "ppapi/cpp/module.h"
|
| -
|
| -class Instance : public TestInstance {
|
| - public:
|
| - Instance(PP_Instance instance) : TestInstance(instance) {}
|
| -
|
| - virtual bool Init(size_t argc, const char* argn[], const char* argv[]) {
|
| - image_data_interface_ = reinterpret_cast<PPB_ImageData const*>(
|
| - pp::Module::Get()->GetBrowserInterface(PPB_IMAGEDATA_INTERFACE));
|
| - return !!image_data_interface_;
|
| - }
|
| -
|
| - virtual std::string GetTestCaseName() const {
|
| - return std::string("ImageData");
|
| - }
|
| -
|
| - virtual void RunTest() {
|
| - LogTest("InvalidFormat", TestInvalidFormat());
|
| - LogTest("InvalidSize", TestInvalidSize());
|
| - LogTest("HugeSize", TestHugeSize());
|
| - LogTest("InitToZero", TestInitToZero());
|
| - LogTest("IsImageData", TestIsImageData());
|
| - }
|
| -
|
| - private:
|
| - std::string TestInvalidFormat() {
|
| - pp::ImageData a(static_cast<PP_ImageDataFormat>(1337), 16, 16, true);
|
| - if (!a.is_null())
|
| - return "Crazy image data format accepted";
|
| -
|
| - pp::ImageData b(static_cast<PP_ImageDataFormat>(-1), 16, 16, true);
|
| - if (!b.is_null())
|
| - return "Negative image data format accepted";
|
| -
|
| - return "";
|
| - }
|
| -
|
| - std::string TestInvalidSize() {
|
| - pp::ImageData zero_size(PP_IMAGEDATAFORMAT_BGRA_PREMUL, 0, 0, true);
|
| - if (!zero_size.is_null())
|
| - return "Zero width and height accepted";
|
| -
|
| - pp::ImageData zero_height(PP_IMAGEDATAFORMAT_BGRA_PREMUL, 16, 0, true);
|
| - if (!zero_height.is_null())
|
| - return "Zero height accepted";
|
| -
|
| - pp::ImageData zero_width(PP_IMAGEDATAFORMAT_BGRA_PREMUL, 0, 16, true);
|
| - if (!zero_width.is_null())
|
| - return "Zero width accepted";
|
| -
|
| - pp::ImageData negative_height(PP_IMAGEDATAFORMAT_BGRA_PREMUL, 16, -2, true);
|
| - if (!negative_height.is_null())
|
| - return "Negative height accepted";
|
| -
|
| - pp::ImageData negative_width(PP_IMAGEDATAFORMAT_BGRA_PREMUL, -2, 16, true);
|
| - if (!negative_width.is_null())
|
| - return "Negative width accepted";
|
| -
|
| - return "";
|
| - }
|
| -
|
| - std::string TestHugeSize() {
|
| - pp::ImageData huge_size(PP_IMAGEDATAFORMAT_BGRA_PREMUL,
|
| - 100000000, 100000000, true);
|
| - if (!huge_size.is_null())
|
| - return "31-bit overflow size accepted";
|
| - return "";
|
| - }
|
| -
|
| - std::string TestInitToZero() {
|
| - const int w = 5;
|
| - const int h = 6;
|
| - pp::ImageData img(PP_IMAGEDATAFORMAT_BGRA_PREMUL, w, h, true);
|
| - if (img.is_null())
|
| - return "Could not create bitmap";
|
| -
|
| - // Basic validity checking of the bitmap. This also tests "describe" since
|
| - // that's where the image data object got its imfo from.
|
| - if (img.width() != w || img.height() != h)
|
| - return "Wrong size";
|
| - if (img.format() != PP_IMAGEDATAFORMAT_BGRA_PREMUL)
|
| - return "Wrong format";
|
| - if (img.stride() < w * 4)
|
| - return "Stride too small";
|
| -
|
| - // Now check that everything is 0.
|
| - for (int y = 0; y < h; y++) {
|
| - uint32_t* row = img.GetAddr32(0, y);
|
| - for (int x = 0; x < w; x++) {
|
| - if (row[x] != 0)
|
| - return "Image data isn't entirely zero";
|
| - }
|
| - }
|
| -
|
| - return "";
|
| - }
|
| -
|
| - std::string TestIsImageData() {
|
| - // Test that a NULL resource isn't an image data.
|
| - pp::Resource null_resource;
|
| - if (image_data_interface_->IsImageData(null_resource.pp_resource()))
|
| - return "Null resource was reported as a valid image";
|
| -
|
| - // Make another resource type and test it.
|
| - const int w = 16, h = 16;
|
| - pp::DeviceContext2D device(w, h, true);
|
| - if (device.is_null())
|
| - return "Couldn't create device context";
|
| - if (image_data_interface_->IsImageData(device.pp_resource()))
|
| - return "Device context was reported as an image";
|
| -
|
| - // Make a valid image resource.
|
| - pp::ImageData img(PP_IMAGEDATAFORMAT_BGRA_PREMUL, w, h, true);
|
| - if (img.is_null())
|
| - return "Couldn't create image data";
|
| - if (!image_data_interface_->IsImageData(img.pp_resource()))
|
| - return "Image data should be identified as an image";
|
| -
|
| - return "";
|
| - }
|
| -
|
| - // Used by the tests that access the C API directly.
|
| - const PPB_ImageData* image_data_interface_;
|
| -};
|
| -
|
| -class Module : public pp::Module {
|
| - public:
|
| - Module() : pp::Module() {}
|
| - virtual ~Module() {}
|
| -
|
| - virtual pp::Instance* CreateInstance(PP_Instance instance) {
|
| - return new Instance(instance);
|
| - }
|
| -};
|
| -
|
| -namespace pp {
|
| -
|
| -Module* CreateModule() {
|
| - return new ::Module();
|
| -}
|
| -
|
| -} // namespace pp
|
|
|