1 /*
2  * Copyright (c) 2024 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, software
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 "interfaces/inner_api/drawable_descriptor/drawable_descriptor.h"
19 #include "interfaces/inner_api/drawable_descriptor/image_converter.h"
20 #include "interfaces/inner_api/drawable_descriptor/js_drawable_descriptor.h"
21 #include "node_extened.h"
22 #include "native_drawable_descriptor.h"
23 
24 using namespace testing;
25 using namespace testing::ext;
26 using namespace OHOS::Ace::Napi;
27 
28 namespace OHOS::Ace {
29 
30 class JsDrawableDescriptorTest : public testing::Test {
31 public:
SetUpTestCase()32     static void SetUpTestCase() {};
TearDownTestCase()33     static void TearDownTestCase() {};
34 };
35 
36 /**
37  * @tc.name: JsDrawableDescriptorTest001
38  * @tc.desc: test Export function;
39  * @tc.type: FUNC
40  */
41 HWTEST_F(JsDrawableDescriptorTest, JsDrawableDescriptorTest001, TestSize.Level1)
42 {
43     napi_env env = nullptr;
44     napi_value exports = nullptr;
45     JsDrawableDescriptor jsDrawableDescriptor;
46     napi_value result = jsDrawableDescriptor.Export(env, exports);
47     EXPECT_EQ(result, nullptr);
48 }
49 
50 /**
51  * @tc.name: JsDrawableDescriptorTest002
52  * @tc.desc: test ToNapi function;
53  * @tc.type: FUNC
54  */
55 HWTEST_F(JsDrawableDescriptorTest, JsDrawableDescriptorTest002, TestSize.Level1)
56 {
57     napi_env env = nullptr;
58     DrawableDescriptor* drawable = nullptr;
59     JsDrawableDescriptor jsDrawableDescriptor;
60     napi_value result = jsDrawableDescriptor.ToNapi(env, drawable, DrawableDescriptor::DrawableType::PIXELMAP);
61     EXPECT_EQ(result, nullptr);
62 }
63 
64 /**
65  * @tc.name: JsDrawableDescriptorTest003
66  * @tc.desc: test ToNapi function;
67  * @tc.type: FUNC
68  */
69 HWTEST_F(JsDrawableDescriptorTest, JsDrawableDescriptorTest003, TestSize.Level1)
70 {
71     napi_env env = nullptr;
72     DrawableDescriptor drawable;
73     JsDrawableDescriptor jsDrawableDescriptor;
74     JsDrawableDescriptor::baseConstructor_ = (napi_ref)malloc(1000);
75     napi_value result = jsDrawableDescriptor.ToNapi(env, &drawable, DrawableDescriptor::DrawableType::ANIMATED);
76     EXPECT_EQ(result, nullptr);
77     free(JsDrawableDescriptor::baseConstructor_);
78 }
79 
80 /**
81  * @tc.name: JsDrawableDescriptorTest004
82  * @tc.desc: test ToNapi function;
83  * @tc.type: FUNC
84  */
85 HWTEST_F(JsDrawableDescriptorTest, JsDrawableDescriptorTest004, TestSize.Level1)
86 {
87     napi_env env = nullptr;
88     DrawableDescriptor drawable;
89     JsDrawableDescriptor jsDrawableDescriptor;
90     JsDrawableDescriptor::layeredConstructor_ = (napi_ref)malloc(1000);
91     napi_value result = jsDrawableDescriptor.ToNapi(env, &drawable, DrawableDescriptor::DrawableType::BASE);
92     EXPECT_EQ(result, nullptr);
93     free(JsDrawableDescriptor::layeredConstructor_);
94 }
95 
96 /**
97  * @tc.name: JsDrawableDescriptorTest005
98  * @tc.desc: test ToNapi function;
99  * @tc.type: FUNC
100  */
101 HWTEST_F(JsDrawableDescriptorTest, JsDrawableDescriptorTest005, TestSize.Level1)
102 {
103     napi_env env = nullptr;
104     DrawableDescriptor drawable;
105     JsDrawableDescriptor jsDrawableDescriptor;
106     JsDrawableDescriptor::animatedConstructor_ = (napi_ref)malloc(1000);
107     napi_value result = jsDrawableDescriptor.ToNapi(env, &drawable, DrawableDescriptor::DrawableType::LAYERED);
108     EXPECT_EQ(result, nullptr);
109     free(JsDrawableDescriptor::animatedConstructor_);
110 }
111 
112 /**
113  * @tc.name: JsDrawableDescriptorTest006
114  * @tc.desc: test ToNapi function;
115  * @tc.type: FUNC
116  */
117 HWTEST_F(JsDrawableDescriptorTest, JsDrawableDescriptorTest006, TestSize.Level1)
118 {
119     napi_env env = nullptr;
120     DrawableDescriptor drawable;
121     JsDrawableDescriptor jsDrawableDescriptor;
122     JsDrawableDescriptor::pixelMapConstructor_ = (napi_ref)malloc(1000);
123     napi_value result = jsDrawableDescriptor.ToNapi(env, &drawable, DrawableDescriptor::DrawableType::PIXELMAP);
124     EXPECT_EQ(result, nullptr);
125     free(JsDrawableDescriptor::pixelMapConstructor_);
126 }
127 
128 /**
129  * @tc.name: JsDrawableDescriptorTest007
130  * @tc.desc: test GetPixelMapFromNapi function;
131  * @tc.type: FUNC
132  */
133 HWTEST_F(JsDrawableDescriptorTest, JsDrawableDescriptorTest007, TestSize.Level1)
134 {
135     napi_env env = nullptr;
136     napi_value exports = nullptr;
137     JsDrawableDescriptor jsDrawableDescriptor;
138     std::shared_ptr<Media::PixelMap> result = jsDrawableDescriptor.GetPixelMapFromNapi(env, exports);
139     EXPECT_EQ(result, nullptr);
140 }
141 
142 /**
143  * @tc.name: JsDrawableDescriptorTest008
144  * @tc.desc: test GetPixelMapFromDrawableNapi function;
145  * @tc.type: FUNC
146  */
147 HWTEST_F(JsDrawableDescriptorTest, JsDrawableDescriptorTest008, TestSize.Level1)
148 {
149     napi_env env = nullptr;
150     napi_value exports = nullptr;
151     JsDrawableDescriptor jsDrawableDescriptor;
152     std::shared_ptr<Media::PixelMap> result = jsDrawableDescriptor.GetPixelMapFromDrawableNapi(env, exports);
153     EXPECT_EQ(result, nullptr);
154 }
155 
156 } // namespace OHOS::Ace
157