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
TestImageSpanObjectFit001(napi_env env,napi_callback_info info)19 static napi_value TestImageSpanObjectFit001(napi_env env, napi_callback_info info)
20 {
21 NAPI_START(imageSpan, ARKUI_NODE_IMAGE_SPAN);
22
23 ArkUI_NumberValue value[] = {{.i32 = ARKUI_OBJECT_FIT_CONTAIN}};
24 ArkUI_AttributeItem value_item = {value, sizeof(value) / sizeof(ArkUI_NumberValue)};
25 auto ret = nodeAPI->setAttribute(imageSpan, NODE_IMAGE_OBJECT_FIT, &value_item);
26 ASSERT_EQ(ret, SUCCESS);
27 ASSERT_EQ(nodeAPI->getAttribute(imageSpan, NODE_IMAGE_OBJECT_FIT)->value[PARAM_0].i32, ARKUI_OBJECT_FIT_CONTAIN);
28 NAPI_END;
29 }
30
TestImageSpanObjectFit002(napi_env env,napi_callback_info info)31 static napi_value TestImageSpanObjectFit002(napi_env env, napi_callback_info info)
32 {
33 NAPI_START(imageSpan, ARKUI_NODE_IMAGE_SPAN);
34
35 ArkUI_NumberValue value[] = {{.i32 = ARKUI_OBJECT_FIT_COVER}};
36 ArkUI_AttributeItem value_item = {value, sizeof(value) / sizeof(ArkUI_NumberValue)};
37 auto ret = nodeAPI->setAttribute(imageSpan, NODE_IMAGE_OBJECT_FIT, &value_item);
38 ASSERT_EQ(ret, SUCCESS);
39 ASSERT_EQ(nodeAPI->getAttribute(imageSpan, NODE_IMAGE_OBJECT_FIT)->value[PARAM_0].i32, ARKUI_OBJECT_FIT_COVER);
40 NAPI_END;
41 }
42
TestImageSpanObjectFit003(napi_env env,napi_callback_info info)43 static napi_value TestImageSpanObjectFit003(napi_env env, napi_callback_info info)
44 {
45 NAPI_START(imageSpan, ARKUI_NODE_IMAGE_SPAN);
46
47 ArkUI_NumberValue value[] = {{.i32 = ARKUI_OBJECT_FIT_AUTO}};
48 ArkUI_AttributeItem value_item = {value, sizeof(value) / sizeof(ArkUI_NumberValue)};
49 auto ret = nodeAPI->setAttribute(imageSpan, NODE_IMAGE_OBJECT_FIT, &value_item);
50 ASSERT_EQ(ret, SUCCESS);
51 ASSERT_EQ(nodeAPI->getAttribute(imageSpan, NODE_IMAGE_OBJECT_FIT)->value[PARAM_0].i32, ARKUI_OBJECT_FIT_AUTO);
52 NAPI_END;
53 }
54
TestImageSpanObjectFit004(napi_env env,napi_callback_info info)55 static napi_value TestImageSpanObjectFit004(napi_env env, napi_callback_info info)
56 {
57 NAPI_START(imageSpan, ARKUI_NODE_IMAGE_SPAN);
58
59 ArkUI_NumberValue value[] = {{.i32 = ARKUI_OBJECT_FIT_FILL}};
60 ArkUI_AttributeItem value_item = {value, sizeof(value) / sizeof(ArkUI_NumberValue)};
61 auto ret = nodeAPI->setAttribute(imageSpan, NODE_IMAGE_OBJECT_FIT, &value_item);
62 ASSERT_EQ(ret, SUCCESS);
63 ASSERT_EQ(nodeAPI->getAttribute(imageSpan, NODE_IMAGE_OBJECT_FIT)->value[PARAM_0].i32, ARKUI_OBJECT_FIT_FILL);
64 NAPI_END;
65 }
66
TestImageSpanObjectFit005(napi_env env,napi_callback_info info)67 static napi_value TestImageSpanObjectFit005(napi_env env, napi_callback_info info)
68 {
69 NAPI_START(imageSpan, ARKUI_NODE_IMAGE_SPAN);
70
71 ArkUI_NumberValue value[] = {{.i32 = ARKUI_OBJECT_FIT_SCALE_DOWN}};
72 ArkUI_AttributeItem value_item = {value, sizeof(value) / sizeof(ArkUI_NumberValue)};
73 auto ret = nodeAPI->setAttribute(imageSpan, NODE_IMAGE_OBJECT_FIT, &value_item);
74 ASSERT_EQ(ret, SUCCESS);
75 ASSERT_EQ(nodeAPI->getAttribute(imageSpan, NODE_IMAGE_OBJECT_FIT)->value[PARAM_0].i32, ARKUI_OBJECT_FIT_SCALE_DOWN);
76 NAPI_END;
77 }
78
TestImageSpanObjectFit006(napi_env env,napi_callback_info info)79 static napi_value TestImageSpanObjectFit006(napi_env env, napi_callback_info info)
80 {
81 NAPI_START(imageSpan, ARKUI_NODE_IMAGE_SPAN);
82
83 ArkUI_NumberValue value[] = {{.i32 = ARKUI_OBJECT_FIT_NONE}};
84 ArkUI_AttributeItem value_item = {value, sizeof(value) / sizeof(ArkUI_NumberValue)};
85 auto ret = nodeAPI->setAttribute(imageSpan, NODE_IMAGE_OBJECT_FIT, &value_item);
86 ASSERT_EQ(ret, SUCCESS);
87 ASSERT_EQ(nodeAPI->getAttribute(imageSpan, NODE_IMAGE_OBJECT_FIT)->value[PARAM_0].i32, ARKUI_OBJECT_FIT_NONE);
88 NAPI_END;
89 }
90
TestImageSpanObjectFit007(napi_env env,napi_callback_info info)91 static napi_value TestImageSpanObjectFit007(napi_env env, napi_callback_info info)
92 {
93 NAPI_START(imageSpan, ARKUI_NODE_IMAGE_SPAN);
94 int32_t objectFit = -1;
95
96 ArkUI_NumberValue value[] = {{.i32 = objectFit}};
97 ArkUI_AttributeItem value_item = {value, sizeof(value) / sizeof(ArkUI_NumberValue)};
98 auto ret = nodeAPI->setAttribute(imageSpan, NODE_IMAGE_OBJECT_FIT, &value_item);
99 ASSERT_EQ(ret, INVALID_PARAM);
100 if (nodeAPI->getAttribute(imageSpan, NODE_IMAGE_OBJECT_FIT) != nullptr) {
101 ASSERT_NE(nodeAPI->getAttribute(imageSpan, NODE_IMAGE_OBJECT_FIT)->value[PARAM_0].i32, objectFit);
102 }
103 NAPI_END;
104 }
105
106 } // namespace ArkUICapiTest
107