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
18 #include "c/drawing_bitmap.h"
19 #include "c/drawing_types.h"
20
21 using namespace testing;
22 using namespace testing::ext;
23
24 namespace OHOS {
25 namespace Rosen {
26 namespace Drawing {
27 class NativeDrawingBitmapTest : public testing::Test {
28 public:
29 static void SetUpTestCase();
30 static void TearDownTestCase();
31 void SetUp() override;
32 void TearDown() override;
33 };
34
SetUpTestCase()35 void NativeDrawingBitmapTest::SetUpTestCase() {}
TearDownTestCase()36 void NativeDrawingBitmapTest::TearDownTestCase() {}
SetUp()37 void NativeDrawingBitmapTest::SetUp() {}
TearDown()38 void NativeDrawingBitmapTest::TearDown() {}
39
40 /*
41 * @tc.name: NativeDrawingBitmapTest_bitmap001
42 * @tc.desc: test for create drawing_bitmap and destroy drawing_bitmap.
43 * @tc.type: FUNC
44 * @tc.require: AR000GTO5R
45 */
46 HWTEST_F(NativeDrawingBitmapTest, NativeDrawingBitmapTest_bitmap001, TestSize.Level1)
47 {
48 OH_Drawing_Bitmap* bitmap = OH_Drawing_BitmapCreate();
49 EXPECT_EQ(bitmap == nullptr, false);
50 OH_Drawing_BitmapDestroy(bitmap);
51 }
52
53 /*
54 * @tc.name: NativeDrawingBitmapTest_bitmap002
55 * @tc.desc: test for drawing_bitmap build.
56 * @tc.type: FUNC
57 * @tc.require: AR000GTO5R
58 */
59 HWTEST_F(NativeDrawingBitmapTest, NativeDrawingBitmapTest_bitmap002, TestSize.Level1)
60 {
61 OH_Drawing_Bitmap* bitmap1 = OH_Drawing_BitmapCreate();
62 const unsigned int width = 500;
63 const unsigned int height = 500;
64 OH_Drawing_BitmapFormat bitmapFormat { COLOR_FORMAT_ALPHA_8, ALPHA_FORMAT_PREMUL };
65 OH_Drawing_BitmapBuild(bitmap1, width, height, &bitmapFormat);
66 EXPECT_EQ(width, OH_Drawing_BitmapGetWidth(bitmap1));
67 EXPECT_EQ(height, OH_Drawing_BitmapGetHeight(bitmap1));
68 OH_Drawing_BitmapDestroy(bitmap1);
69 }
70
71 /*
72 * @tc.name: NativeDrawingBitmapTest_bitmap003
73 * @tc.desc: test for drawing_bitmap build.
74 * @tc.type: FUNC
75 * @tc.require: AR000GTO5R
76 */
77 HWTEST_F(NativeDrawingBitmapTest, NativeDrawingBitmapTest_bitmap003, TestSize.Level1)
78 {
79 OH_Drawing_Bitmap* bitmap2 = OH_Drawing_BitmapCreate();
80 const unsigned int width = 0;
81 const unsigned int height = 0;
82 OH_Drawing_BitmapFormat bitmapFormat { COLOR_FORMAT_RGB_565, ALPHA_FORMAT_OPAQUE };
83 OH_Drawing_BitmapBuild(bitmap2, width, height, &bitmapFormat);
84 EXPECT_EQ(width, OH_Drawing_BitmapGetWidth(bitmap2));
85 EXPECT_EQ(height, OH_Drawing_BitmapGetHeight(bitmap2));
86 OH_Drawing_BitmapDestroy(bitmap2);
87 }
88
89 /*
90 * @tc.name: NativeDrawingBitmapTest_bitmap004
91 * @tc.desc: test for drawing_bitmap build.
92 * @tc.type: FUNC
93 * @tc.require: AR000GTO5R
94 */
95 HWTEST_F(NativeDrawingBitmapTest, NativeDrawingBitmapTest_bitmap004, TestSize.Level1)
96 {
97 OH_Drawing_Bitmap* bitmap4 = OH_Drawing_BitmapCreate();
98 const unsigned int width = 500;
99 const unsigned int height = 500;
100 OH_Drawing_BitmapFormat bitmapFormat { COLOR_FORMAT_ARGB_4444, ALPHA_FORMAT_UNPREMUL };
101 OH_Drawing_BitmapBuild(bitmap4, width, height, &bitmapFormat);
102 EXPECT_EQ(width, OH_Drawing_BitmapGetWidth(bitmap4));
103 EXPECT_EQ(height, OH_Drawing_BitmapGetHeight(bitmap4));
104 EXPECT_EQ(OH_Drawing_BitmapGetPixels(bitmap4) == nullptr, false);
105 OH_Drawing_BitmapDestroy(bitmap4);
106 }
107
108 /*
109 * @tc.name: NativeDrawingBitmapTest_bitmap005
110 * @tc.desc: test for drawing_bitmap build.
111 * @tc.type: FUNC
112 * @tc.require: AR000GTO5R
113 */
114 HWTEST_F(NativeDrawingBitmapTest, NativeDrawingBitmapTest_bitmap005, TestSize.Level1)
115 {
116 OH_Drawing_Bitmap* bitmap5 = OH_Drawing_BitmapCreate();
117 const unsigned int width = 500;
118 const unsigned int height = 500;
119 OH_Drawing_BitmapFormat bitmapFormat { COLOR_FORMAT_RGBA_8888, ALPHA_FORMAT_UNPREMUL };
120 OH_Drawing_BitmapBuild(bitmap5, width, height, &bitmapFormat);
121 EXPECT_EQ(width, OH_Drawing_BitmapGetWidth(bitmap5));
122 EXPECT_EQ(height, OH_Drawing_BitmapGetHeight(bitmap5));
123 OH_Drawing_BitmapDestroy(bitmap5);
124 }
125 } // namespace Drawing
126 } // namespace Rosen
127 } // namespace OHOS