1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef PPAPI_TESTS_TEST_IMAGE_DATA_H_ 6 #define PPAPI_TESTS_TEST_IMAGE_DATA_H_ 7 8 #include <string> 9 10 #include "ppapi/c/ppb_image_data.h" 11 #include "ppapi/tests/test_case.h" 12 13 class TestImageData : public TestCase { 14 public: 15 TestImageData(TestingInstance* instance) : TestCase(instance) {} 16 17 // TestCase implementation. 18 virtual bool Init(); 19 virtual void RunTests(const std::string& filter); 20 21 private: 22 std::string TestInvalidFormat(); 23 std::string TestGetNativeFormat(); 24 std::string TestFormatSupported(); 25 std::string TestInvalidSize(); 26 std::string TestHugeSize(); 27 std::string TestInitToZero(); 28 std::string TestIsImageData(); 29 30 // Subtests used by tests above; pass in a pixel format. 31 std::string SubTestFormatSupported(PP_ImageDataFormat format); 32 std::string SubTestInvalidSize(PP_ImageDataFormat format); 33 std::string SubTestHugeSize(PP_ImageDataFormat format); 34 std::string SubTestInitToZero(PP_ImageDataFormat format); 35 std::string SubTestIsImageData(PP_ImageDataFormat format); 36 37 // Used by the tests that access the C API directly. 38 const PPB_ImageData* image_data_interface_; 39 }; 40 41 #endif // PPAPI_TESTS_TEST_IMAGE_DATA_H_ 42