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 #include "common/common.h"
16
17 namespace ArkUICapiTest {
18
TestImageSpanVerticalAlign001(napi_env env,napi_callback_info info)19 static napi_value TestImageSpanVerticalAlign001(napi_env env, napi_callback_info info)
20 {
21 NAPI_START(imageSpan, ARKUI_NODE_IMAGE_SPAN);
22
23 ArkUI_NumberValue value[] = {{.i32 = ARKUI_IMAGE_SPAN_ALIGNMENT_BASELINE}};
24 ArkUI_AttributeItem value_item = {value, sizeof(value) / sizeof(ArkUI_NumberValue)};
25 auto ret = nodeAPI->setAttribute(imageSpan, NODE_IMAGE_SPAN_VERTICAL_ALIGNMENT, &value_item);
26 ASSERT_EQ(ret, SUCCESS);
27 ASSERT_EQ(nodeAPI->getAttribute(imageSpan, NODE_IMAGE_SPAN_VERTICAL_ALIGNMENT)->value[PARAM_0].i32,
28 ARKUI_IMAGE_SPAN_ALIGNMENT_BASELINE);
29 NAPI_END;
30 }
31
TestImageSpanVerticalAlign002(napi_env env,napi_callback_info info)32 static napi_value TestImageSpanVerticalAlign002(napi_env env, napi_callback_info info)
33 {
34 NAPI_START(imageSpan, ARKUI_NODE_IMAGE_SPAN);
35
36 ArkUI_NumberValue value[] = {{.i32 = ARKUI_IMAGE_SPAN_ALIGNMENT_BOTTOM}};
37 ArkUI_AttributeItem value_item = {value, sizeof(value) / sizeof(ArkUI_NumberValue)};
38 auto ret = nodeAPI->setAttribute(imageSpan, NODE_IMAGE_SPAN_VERTICAL_ALIGNMENT, &value_item);
39 ASSERT_EQ(ret, SUCCESS);
40 ASSERT_EQ(nodeAPI->getAttribute(imageSpan, NODE_IMAGE_SPAN_VERTICAL_ALIGNMENT)->value[PARAM_0].i32,
41 ARKUI_IMAGE_SPAN_ALIGNMENT_BOTTOM);
42 NAPI_END;
43 }
44
TestImageSpanVerticalAlign003(napi_env env,napi_callback_info info)45 static napi_value TestImageSpanVerticalAlign003(napi_env env, napi_callback_info info)
46 {
47 NAPI_START(imageSpan, ARKUI_NODE_IMAGE_SPAN);
48
49 ArkUI_NumberValue value[] = {{.i32 = ARKUI_IMAGE_SPAN_ALIGNMENT_CENTER}};
50 ArkUI_AttributeItem value_item = {value, sizeof(value) / sizeof(ArkUI_NumberValue)};
51 auto ret = nodeAPI->setAttribute(imageSpan, NODE_IMAGE_SPAN_VERTICAL_ALIGNMENT, &value_item);
52 ASSERT_EQ(ret, SUCCESS);
53 ASSERT_EQ(nodeAPI->getAttribute(imageSpan, NODE_IMAGE_SPAN_VERTICAL_ALIGNMENT)->value[PARAM_0].i32,
54 ARKUI_IMAGE_SPAN_ALIGNMENT_CENTER);
55 NAPI_END;
56 }
57
TestImageSpanVerticalAlign004(napi_env env,napi_callback_info info)58 static napi_value TestImageSpanVerticalAlign004(napi_env env, napi_callback_info info)
59 {
60 NAPI_START(imageSpan, ARKUI_NODE_IMAGE_SPAN);
61
62 ArkUI_NumberValue value[] = {{.i32 = ARKUI_IMAGE_SPAN_ALIGNMENT_TOP}};
63 ArkUI_AttributeItem value_item = {value, sizeof(value) / sizeof(ArkUI_NumberValue)};
64 auto ret = nodeAPI->setAttribute(imageSpan, NODE_IMAGE_SPAN_VERTICAL_ALIGNMENT, &value_item);
65 ASSERT_EQ(ret, SUCCESS);
66 ASSERT_EQ(nodeAPI->getAttribute(imageSpan, NODE_IMAGE_SPAN_VERTICAL_ALIGNMENT)->value[PARAM_0].i32,
67 ARKUI_IMAGE_SPAN_ALIGNMENT_TOP);
68 NAPI_END;
69 }
70
TestImageSpanVerticalAlign005(napi_env env,napi_callback_info info)71 static napi_value TestImageSpanVerticalAlign005(napi_env env, napi_callback_info info)
72 {
73 NAPI_START(imageSpan, ARKUI_NODE_IMAGE_SPAN);
74 int32_t verticalAlign = -1;
75
76 ArkUI_NumberValue value[] = {{.i32 = verticalAlign}};
77 ArkUI_AttributeItem value_item = {value, sizeof(value) / sizeof(ArkUI_NumberValue)};
78 auto ret = nodeAPI->setAttribute(imageSpan, NODE_IMAGE_SPAN_VERTICAL_ALIGNMENT, &value_item);
79 ASSERT_EQ(ret, INVALID_PARAM);
80 if (nodeAPI->getAttribute(imageSpan, NODE_IMAGE_SPAN_VERTICAL_ALIGNMENT) != nullptr) {
81 ASSERT_NE(nodeAPI->getAttribute(imageSpan, NODE_IMAGE_SPAN_VERTICAL_ALIGNMENT)->value[PARAM_0].i32,
82 verticalAlign);
83 }
84 NAPI_END;
85 }
86
87 } // namespace ArkUICapiTest
88