1/* 2 * Copyright (c) 2022 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, Hardware 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16#include "gtest/gtest.h" 17#include "drawing_bitmap.h" 18#include "drawing_image.h" 19 20using namespace testing; 21using namespace testing::ext; 22 23namespace OHOS { 24namespace Rosen { 25namespace Drawing { 26class NativeImageLargeValueTest : public testing::Test { 27public: 28 static void SetUpTestCase(); 29 static void TearDownTestCase(); 30 void SetUp() override; 31 void TearDown() override; 32}; 33 34void NativeImageLargeValueTest::SetUpTestCase() {} 35void NativeImageLargeValueTest::TearDownTestCase() {} 36void NativeImageLargeValueTest::SetUp() {} 37void NativeImageLargeValueTest::TearDown() {} 38 39/* 40 * @tc.name: NativeImageLargeValueTest_BuildFromBitmap001 41 * @tc.desc: test BuildFromBitmap 42 * @tc.size : MediumTest 43 * @tc.type : Function 44 * @tc.level : Level 1 45 */ 46HWTEST_F(NativeImageLargeValueTest, NativeImageLargeValueTest_BuildFromBitmap001, TestSize.Level1) 47{ 48 OH_Drawing_Image* image = OH_Drawing_ImageCreate(); 49 EXPECT_NE(image, nullptr); 50 OH_Drawing_Bitmap* bitmap = OH_Drawing_BitmapCreate(); 51 EXPECT_NE(bitmap, nullptr); 52 OH_Drawing_BitmapFormat cFormat{COLOR_FORMAT_RGBA_8888, ALPHA_FORMAT_OPAQUE}; 53 constexpr uint32_t width = 2160; 54 constexpr uint32_t height = 4096; 55 OH_Drawing_BitmapBuild(bitmap, width, height, &cFormat); 56 EXPECT_TRUE(OH_Drawing_ImageBuildFromBitmap(image, bitmap)); 57 EXPECT_TRUE(!OH_Drawing_ImageBuildFromBitmap(image, nullptr)); 58 EXPECT_TRUE(!OH_Drawing_ImageBuildFromBitmap(nullptr, nullptr)); 59 OH_Drawing_BitmapDestroy(bitmap); 60 OH_Drawing_ImageDestroy(image); 61} 62 63/* 64 * @tc.name: NativeImageLargeValueTest_GetWidth001 65 * @tc.desc: test GetWidth 66 * @tc.size : MediumTest 67 * @tc.type : Function 68 * @tc.level : Level 1 69 */ 70HWTEST_F(NativeImageLargeValueTest, NativeImageLargeValueTest_GetWidth001, TestSize.Level1) 71{ 72 OH_Drawing_Image* image = OH_Drawing_ImageCreate(); 73 EXPECT_NE(image, nullptr); 74 OH_Drawing_Bitmap* bitmap = OH_Drawing_BitmapCreate(); 75 EXPECT_NE(bitmap, nullptr); 76 OH_Drawing_BitmapFormat cFormat{COLOR_FORMAT_RGBA_8888, ALPHA_FORMAT_OPAQUE}; 77 constexpr uint32_t width = 2160; 78 constexpr uint32_t height = 4096; 79 OH_Drawing_BitmapBuild(bitmap, width, height, &cFormat); 80 OH_Drawing_ImageBuildFromBitmap(image, bitmap); 81 EXPECT_EQ(OH_Drawing_ImageGetWidth(image), width); 82 EXPECT_EQ(OH_Drawing_ImageGetWidth(nullptr), -1); 83 OH_Drawing_BitmapDestroy(bitmap); 84 OH_Drawing_ImageDestroy(image); 85} 86 87/* 88 * @tc.name: NativeImageLargeValueTest_GetHeight001 89 * @tc.desc: test GetHeight 90 * @tc.size : MediumTest 91 * @tc.type : Function 92 * @tc.level : Level 1 93 */ 94HWTEST_F(NativeImageLargeValueTest, NativeImageLargeValueTest_GetHeight001, TestSize.Level1) 95{ 96 OH_Drawing_Image* image = OH_Drawing_ImageCreate(); 97 EXPECT_NE(image, nullptr); 98 OH_Drawing_Bitmap* bitmap = OH_Drawing_BitmapCreate(); 99 EXPECT_NE(bitmap, nullptr); 100 OH_Drawing_BitmapFormat cFormat{COLOR_FORMAT_RGBA_8888, ALPHA_FORMAT_OPAQUE}; 101 constexpr uint32_t width = 2160; 102 constexpr uint32_t height = 4096; 103 OH_Drawing_BitmapBuild(bitmap, width, height, &cFormat); 104 OH_Drawing_ImageBuildFromBitmap(image, bitmap); 105 EXPECT_EQ(OH_Drawing_ImageGetHeight(image), height); 106 EXPECT_EQ(OH_Drawing_ImageGetHeight(nullptr), -1); 107 OH_Drawing_BitmapDestroy(bitmap); 108 OH_Drawing_ImageDestroy(image); 109} 110 111/* 112 * @tc.name: NativeImageLargeValueTest_GetImageInfo001 113 * @tc.desc: test GetImageInfo 114 * @tc.size : MediumTest 115 * @tc.type : Function 116 * @tc.level : Level 1 117 */ 118HWTEST_F(NativeImageLargeValueTest, NativeImageLargeValueTest_GetImageInfo001, TestSize.Level1) 119{ 120 OH_Drawing_ImageGetImageInfo(nullptr, nullptr); 121 OH_Drawing_Image* image = OH_Drawing_ImageCreate(); 122 EXPECT_NE(image, nullptr); 123 OH_Drawing_Bitmap* bitmap = OH_Drawing_BitmapCreate(); 124 EXPECT_NE(bitmap, nullptr); 125 OH_Drawing_BitmapFormat cFormat{COLOR_FORMAT_RGBA_8888, ALPHA_FORMAT_OPAQUE}; 126 constexpr uint32_t width = 2160; 127 constexpr uint32_t height = 4096; 128 OH_Drawing_BitmapBuild(bitmap, width, height, &cFormat); 129 OH_Drawing_ImageBuildFromBitmap(image, bitmap); 130 OH_Drawing_ImageGetImageInfo(image, nullptr); 131 OH_Drawing_Image_Info imageInfo; 132 OH_Drawing_ImageGetImageInfo(image, &imageInfo); 133 EXPECT_EQ(imageInfo.width, width); 134 OH_Drawing_BitmapDestroy(bitmap); 135 OH_Drawing_ImageDestroy(image); 136} 137} // namespace Drawing 138} // namespace Rosen 139} // namespace OHOS