• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 "common/common.h"
17 #define NUM_0 0
18 #define NUM_1 1
19 #define NUM__1 (-1)
20 #define NUM_5 5
21 #define NUM_10 10
22 #define NUM_20 20
23 #define COLOR 0xFFFFFF00
24 #define COLOR1 0xFF0000FF
25 
26 namespace ArkUICapiTest {
27 
TestSwiperIndicator001(napi_env env,napi_callback_info info)28 static napi_value TestSwiperIndicator001(napi_env env, napi_callback_info info)
29 {
30     NAPI_START(swiper, ARKUI_NODE_SWIPER);
31     int32_t indicator = NUM_0;
32     ArkUI_NumberValue value[] = {{.i32 = indicator}};
33     ArkUI_AttributeItem value_item = {value, sizeof(value) / sizeof(ArkUI_NumberValue)};
34     auto ret = nodeAPI->setAttribute(swiper, NODE_SWIPER_SHOW_INDICATOR, &value_item);
35     ASSERT_EQ(ret, SUCCESS);
36     ASSERT_EQ(nodeAPI->getAttribute(swiper, NODE_SWIPER_SHOW_INDICATOR)->value[PARAM_0].i32, indicator);
37     NAPI_END;
38 }
39 
TestSwiperIndicator002(napi_env env,napi_callback_info info)40 static napi_value TestSwiperIndicator002(napi_env env, napi_callback_info info)
41 {
42     NAPI_START(swiper, ARKUI_NODE_SWIPER);
43     int32_t indicator = NUM_1;
44     ArkUI_NumberValue value[] = {{.i32 = indicator}};
45     ArkUI_AttributeItem value_item = {value, sizeof(value) / sizeof(ArkUI_NumberValue)};
46     auto ret = nodeAPI->setAttribute(swiper, NODE_SWIPER_SHOW_INDICATOR, &value_item);
47     ASSERT_EQ(ret, SUCCESS);
48     ASSERT_EQ(nodeAPI->getAttribute(swiper, NODE_SWIPER_SHOW_INDICATOR)->value[PARAM_0].i32, indicator);
49     NAPI_END;
50 }
51 
TestSwiperIndicator003(napi_env env,napi_callback_info info)52 static napi_value TestSwiperIndicator003(napi_env env, napi_callback_info info)
53 {
54     NAPI_START(swiper, ARKUI_NODE_SWIPER);
55     int32_t indicator = NUM__1;
56     ArkUI_NumberValue value[] = {{.i32 = indicator}};
57     ArkUI_AttributeItem value_item = {value, sizeof(value) / sizeof(ArkUI_NumberValue)};
58     auto ret = nodeAPI->setAttribute(swiper, NODE_SWIPER_SHOW_INDICATOR, &value_item);
59     ASSERT_EQ(ret, INVALID_PARAM);
60     if (nodeAPI->getAttribute(swiper, NODE_SWIPER_SHOW_INDICATOR) != nullptr) {
61         ASSERT_NE(nodeAPI->getAttribute(swiper, NODE_SWIPER_SHOW_INDICATOR)->value[PARAM_0].i32, indicator);
62     }
63     NAPI_END;
64 }
65 
TestSwiperIndicator004(napi_env env,napi_callback_info info)66 static napi_value TestSwiperIndicator004(napi_env env, napi_callback_info info)
67 {
68     auto indicator = OH_ArkUI_SwiperIndicator_Create(ARKUI_SWIPER_INDICATOR_TYPE_DOT);
69     OH_ArkUI_SwiperIndicator_SetStartPosition(indicator, NUM_5);
70     OH_ArkUI_SwiperIndicator_SetTopPosition(indicator, NUM_5);
71     OH_ArkUI_SwiperIndicator_SetEndPosition(indicator, NUM_5);
72     OH_ArkUI_SwiperIndicator_SetBottomPosition(indicator, NUM_5);
73 
74     ASSERT_EQ(OH_ArkUI_SwiperIndicator_GetStartPosition(indicator), NUM_5);
75     ASSERT_EQ(OH_ArkUI_SwiperIndicator_GetTopPosition(indicator), NUM_5);
76     ASSERT_EQ(OH_ArkUI_SwiperIndicator_GetEndPosition(indicator), NUM_5);
77     ASSERT_EQ(OH_ArkUI_SwiperIndicator_GetBottomPosition(indicator), NUM_5);
78 
79     OH_ArkUI_SwiperIndicator_Dispose(indicator);
80 
81     NAPI_END;
82 }
83 
TestSwiperIndicator005(napi_env env,napi_callback_info info)84 static napi_value TestSwiperIndicator005(napi_env env, napi_callback_info info)
85 {
86     auto indicator = OH_ArkUI_SwiperIndicator_Create(ARKUI_SWIPER_INDICATOR_TYPE_DOT);
87 
88     OH_ArkUI_SwiperIndicator_SetItemWidth(indicator, NUM_10);
89     OH_ArkUI_SwiperIndicator_SetItemHeight(indicator, NUM_20);
90 
91     ASSERT_EQ(OH_ArkUI_SwiperIndicator_GetItemWidth(indicator), NUM_10);
92     ASSERT_EQ(OH_ArkUI_SwiperIndicator_GetItemHeight(indicator), NUM_20);
93 
94     OH_ArkUI_SwiperIndicator_Dispose(indicator);
95 
96     NAPI_END;
97 }
98 
TestSwiperIndicator006(napi_env env,napi_callback_info info)99 static napi_value TestSwiperIndicator006(napi_env env, napi_callback_info info)
100 {
101     auto indicator = OH_ArkUI_SwiperIndicator_Create(ARKUI_SWIPER_INDICATOR_TYPE_DOT);
102 
103     OH_ArkUI_SwiperIndicator_SetSelectedItemWidth(indicator, NUM_10);
104     OH_ArkUI_SwiperIndicator_SetSelectedItemHeight(indicator, NUM_20);
105 
106     ASSERT_EQ(OH_ArkUI_SwiperIndicator_GetSelectedItemWidth(indicator), NUM_10);
107     ASSERT_EQ(OH_ArkUI_SwiperIndicator_GetSelectedItemHeight(indicator), NUM_20);
108 
109     OH_ArkUI_SwiperIndicator_Dispose(indicator);
110 
111     NAPI_END;
112 }
113 
TestSwiperIndicator007(napi_env env,napi_callback_info info)114 static napi_value TestSwiperIndicator007(napi_env env, napi_callback_info info)
115 {
116     auto indicator = OH_ArkUI_SwiperIndicator_Create(ARKUI_SWIPER_INDICATOR_TYPE_DOT);
117 
118     OH_ArkUI_SwiperIndicator_SetMask(indicator, NUM_1);
119     OH_ArkUI_SwiperIndicator_SetColor(indicator, COLOR);
120     OH_ArkUI_SwiperIndicator_SetSelectedColor(indicator, COLOR1);
121 
122     ASSERT_EQ(OH_ArkUI_SwiperIndicator_GetMask(indicator), NUM_1);
123     ASSERT_EQ(OH_ArkUI_SwiperIndicator_GetColor(indicator), COLOR);
124     ASSERT_EQ(OH_ArkUI_SwiperIndicator_GetSelectedColor(indicator), COLOR1);
125 
126     OH_ArkUI_SwiperIndicator_Dispose(indicator);
127 
128     NAPI_END;
129 }
130 
TestSwiperIndicator008(napi_env env,napi_callback_info info)131 static napi_value TestSwiperIndicator008(napi_env env, napi_callback_info info)
132 {
133     NAPI_START(swiper, ARKUI_NODE_SWIPER);
134     auto indicator = OH_ArkUI_SwiperIndicator_Create(ARKUI_SWIPER_INDICATOR_TYPE_DOT);
135     OH_ArkUI_SwiperIndicator_SetStartPosition(indicator, NUM_5);
136     OH_ArkUI_SwiperIndicator_SetTopPosition(indicator, NUM_5);
137     OH_ArkUI_SwiperIndicator_SetEndPosition(indicator, NUM_5);
138     OH_ArkUI_SwiperIndicator_SetBottomPosition(indicator, NUM_5);
139 
140     ArkUI_NumberValue value[] = {{.i32 = ARKUI_SWIPER_INDICATOR_TYPE_DOT}};
141     ArkUI_AttributeItem value_item = {value, sizeof(value) / sizeof(ArkUI_NumberValue)};
142     value_item.object = indicator;
143     auto ret = nodeAPI->setAttribute(swiper, NODE_SWIPER_INDICATOR, &value_item);
144     ASSERT_EQ(ret, SUCCESS);
145     ASSERT_EQ(nodeAPI->getAttribute(swiper, NODE_SWIPER_INDICATOR)->value[PARAM_0].i32,
146         ARKUI_SWIPER_INDICATOR_TYPE_DOT);
147     ASSERT_OBJ(nodeAPI->getAttribute(swiper, NODE_SWIPER_INDICATOR)->object, indicator);
148 
149     NAPI_END;
150 }
151 
TestSwiperIndicator009(napi_env env,napi_callback_info info)152 static napi_value TestSwiperIndicator009(napi_env env, napi_callback_info info)
153 {
154     NAPI_START(swiper, ARKUI_NODE_SWIPER);
155 
156     ArkUI_NumberValue value[] = {};
157     ArkUI_AttributeItem value_item = {value, sizeof(value) / sizeof(ArkUI_NumberValue)};
158     auto ret = nodeAPI->setAttribute(swiper, NODE_SWIPER_INDICATOR, &value_item);
159     ASSERT_EQ(ret, INVALID_PARAM);
160     NAPI_END;
161 }
162 
TestSwiperIndicator010(napi_env env,napi_callback_info info)163 static napi_value TestSwiperIndicator010(napi_env env, napi_callback_info info)
164 {
165     NAPI_START(swiper, ARKUI_NODE_SWIPER);
166 
167     ArkUI_NumberValue value[] = {{.i32 = PARAM_NEGATIVE_1}};
168     ArkUI_AttributeItem value_item = {value, sizeof(value) / sizeof(ArkUI_NumberValue)};
169     auto ret = nodeAPI->setAttribute(swiper, NODE_SWIPER_INDICATOR, &value_item);
170     ASSERT_EQ(ret, INVALID_PARAM);
171     NAPI_END;
172 }
173 
TestSwiperIndicator011(napi_env env,napi_callback_info info)174 static napi_value TestSwiperIndicator011(napi_env env, napi_callback_info info)
175 {
176     NAPI_START(swiper, ARKUI_NODE_SWIPER);
177 
178     ArkUI_NumberValue value[] = { { .i32 = PARAM_NEGATIVE_1 } };
179     ArkUI_AttributeItem value_item = { value, sizeof(value) / sizeof(ArkUI_NumberValue) };
180     auto ret = nodeAPI->setAttribute(swiper, NODE_SWIPER_INDICATOR, &value_item);
181     ASSERT_EQ(ret, INVALID_PARAM);
182 
183     auto ret1 = nodeAPI->resetAttribute(swiper, NODE_SWIPER_INDICATOR);
184     ASSERT_EQ(ret1, SUCCESS);
185 
186     ASSERT_EQ(
187         nodeAPI->getAttribute(swiper, NODE_SWIPER_INDICATOR)->value[PARAM_0].i32, ARKUI_SWIPER_INDICATOR_TYPE_DOT);
188     ASSERT_EQ(nodeAPI->getAttribute(swiper, NODE_SWIPER_INDICATOR)->value[PARAM_1].i32, PARAM_0);
189     NAPI_END;
190 }
191 } // namespace ArkUICapiTest
192