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
20 using namespace testing;
21 using namespace testing::ext;
22
23 namespace OHOS {
24 namespace Rosen {
25 namespace Drawing {
26 class NativeImageLargeValueTest : public testing::Test {
27 public:
28 static void SetUpTestCase();
29 static void TearDownTestCase();
30 void SetUp() override;
31 void TearDown() override;
32 };
33
SetUpTestCase()34 void NativeImageLargeValueTest::SetUpTestCase() {}
TearDownTestCase()35 void NativeImageLargeValueTest::TearDownTestCase() {}
SetUp()36 void NativeImageLargeValueTest::SetUp() {}
TearDown()37 void 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 */
HWTEST_F(NativeImageLargeValueTest, NativeImageLargeValueTest_BuildFromBitmap001, TestSize.Level1)46 HWTEST_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 */
HWTEST_F(NativeImageLargeValueTest, NativeImageLargeValueTest_GetWidth001, TestSize.Level1)70 HWTEST_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 */
HWTEST_F(NativeImageLargeValueTest, NativeImageLargeValueTest_GetHeight001, TestSize.Level1)94 HWTEST_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 */
HWTEST_F(NativeImageLargeValueTest, NativeImageLargeValueTest_GetImageInfo001, TestSize.Level1)118 HWTEST_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