1 /* 2 * Copyright (c) 2025 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 "../ui_input_event_test.h" 17 18 using namespace testing; 19 using namespace testing::ext; 20 21 namespace { 22 constexpr ArkUI_Uint32 ARKUI_EVENT_POINTERCOUNTER_NULL = 0; 23 constexpr ArkUI_Uint32 ARKUI_EVENT_POINTERCOUNTER = 2; 24 } // namespace 25 26 namespace OHOS::Ace { 27 28 /** 29 * @tc.name: OH_ArkUI_PointerEvent_GetPointerCount001 30 * @tc.desc: Test the OH_ArkUI_PointerEvent_GetPointerCount function. 31 * @tc.type: FUNC 32 */ 33 HWTEST_F(UIInputEventTest, OH_ArkUI_PointerEvent_GetPointerCount001, TestSize.Level0) 34 { 35 /** 36 * @tc.steps: step1.call functions and return expected results. 37 */ 38 auto result = OH_ArkUI_PointerEvent_GetPointerCount(nullptr); 39 EXPECT_EQ(result, ARKUI_EVENT_POINTERCOUNTER_NULL); 40 } 41 42 /** 43 * @tc.name: OH_ArkUI_PointerEvent_GetPointerCount101 44 * @tc.desc: Test the OH_ArkUI_PointerEvent_GetPointerCount function. 45 * @tc.type: FUNC 46 */ 47 HWTEST_F(UIInputEventTest, OH_ArkUI_PointerEvent_GetPointerCount101, TestSize.Level0) 48 { 49 /** 50 * @tc.steps: step1.create and init ArkUI_UIInputEvent. 51 */ 52 // 1 ArkUITouchEvent {C_TOUCH_EVENT_ID, touchEvent->touchPointSize} 53 ArkUITouchEvent inputEvent; 54 55 /** 56 * @tc.steps: step2. Init testCases and call functions. 57 * @tc.expected: Return expected results. 58 */ 59 // case 1 60 auto uiInputEvent = ArkUI_UIInputEvent { ARKUI_UIINPUTEVENT_TYPE_UNKNOWN, C_TOUCH_EVENT_ID, nullptr }; 61 auto result = OH_ArkUI_PointerEvent_GetPointerCount(&uiInputEvent); 62 EXPECT_EQ(result, ARKUI_EVENT_POINTERCOUNTER_NULL) << " , result = " << result; 63 64 // case 2 65 inputEvent.touchPointSize = ARKUI_EVENT_POINTERCOUNTER; 66 uiInputEvent = ArkUI_UIInputEvent { ARKUI_UIINPUTEVENT_TYPE_UNKNOWN, C_TOUCH_EVENT_ID, &inputEvent }; 67 result = OH_ArkUI_PointerEvent_GetPointerCount(&uiInputEvent); 68 EXPECT_EQ(result, ARKUI_EVENT_POINTERCOUNTER) << " , result = " << result; 69 } 70 71 72 /** 73 * @tc.name: OH_ArkUI_PointerEvent_GetPointerCount102 74 * @tc.desc: Test the OH_ArkUI_PointerEvent_GetPointerCount function. 75 * @tc.type: FUNC 76 */ 77 HWTEST_F(UIInputEventTest, OH_ArkUI_PointerEvent_GetPointerCount102, TestSize.Level0) 78 { 79 /** 80 * @tc.steps: step1.create and init ArkUI_UIInputEvent. 81 */ 82 // 2 ArkUIMouseEvent {C_MOUSE_EVENT_ID, 1} 83 ArkUIMouseEvent inputEvent; 84 85 /** 86 * @tc.steps: step2. Init testCases and call functions. 87 * @tc.expected: Return expected results. 88 */ 89 // case 1 90 auto uiInputEvent = ArkUI_UIInputEvent { ARKUI_UIINPUTEVENT_TYPE_UNKNOWN, C_MOUSE_EVENT_ID, nullptr }; 91 auto result = OH_ArkUI_PointerEvent_GetPointerCount(&uiInputEvent); 92 EXPECT_EQ(result, ARKUI_EVENT_POINTERCOUNTER_NULL) << " , result = " << result; 93 94 // case 2 95 uiInputEvent = ArkUI_UIInputEvent { ARKUI_UIINPUTEVENT_TYPE_UNKNOWN, C_MOUSE_EVENT_ID, &inputEvent }; 96 result = OH_ArkUI_PointerEvent_GetPointerCount(&uiInputEvent); 97 EXPECT_EQ(result, 1) << " , result = " << result; 98 } 99 100 /** 101 * @tc.name: OH_ArkUI_PointerEvent_GetPointerCount103 102 * @tc.desc: Test the OH_ArkUI_PointerEvent_GetPointerCount function. 103 * @tc.type: FUNC 104 */ 105 HWTEST_F(UIInputEventTest, OH_ArkUI_PointerEvent_GetPointerCount103, TestSize.Level0) 106 { 107 /** 108 * @tc.steps: step1.create and init ArkUI_UIInputEvent. 109 */ 110 // 3 ArkUIAxisEvent {C_AXIS_EVENT_ID, 1} 111 ArkUIAxisEvent inputEvent; 112 113 /** 114 * @tc.steps: step2. Init testCases and call functions. 115 * @tc.expected: Return expected results. 116 */ 117 // case 1 118 auto uiInputEvent = ArkUI_UIInputEvent { ARKUI_UIINPUTEVENT_TYPE_UNKNOWN, C_AXIS_EVENT_ID, nullptr }; 119 auto result = OH_ArkUI_PointerEvent_GetPointerCount(&uiInputEvent); 120 EXPECT_EQ(result, ARKUI_EVENT_POINTERCOUNTER_NULL) << " , result = " << result; 121 122 // case 2 123 uiInputEvent = ArkUI_UIInputEvent { ARKUI_UIINPUTEVENT_TYPE_UNKNOWN, C_AXIS_EVENT_ID, &inputEvent }; 124 result = OH_ArkUI_PointerEvent_GetPointerCount(&uiInputEvent); 125 EXPECT_EQ(result, 1) << " , result = " << result; 126 } 127 128 /** 129 * @tc.name: OH_ArkUI_PointerEvent_GetPointerCount104 130 * @tc.desc: Test the OH_ArkUI_PointerEvent_GetPointerCount function. 131 * @tc.type: FUNC 132 */ 133 HWTEST_F(UIInputEventTest, OH_ArkUI_PointerEvent_GetPointerCount104, TestSize.Level0) 134 { 135 /** 136 * @tc.steps: step1.create and init ArkUI_UIInputEvent. 137 */ 138 // 4 ArkUIClickEvent {C_CLICK_EVENT_ID, clickEvent->clickPointSize} 139 ArkUIClickEvent inputEvent; 140 141 /** 142 * @tc.steps: step2. Init testCases and call functions. 143 * @tc.expected: Return expected results. 144 */ 145 // case 1 146 auto uiInputEvent = ArkUI_UIInputEvent { ARKUI_UIINPUTEVENT_TYPE_UNKNOWN, C_CLICK_EVENT_ID, nullptr }; 147 auto result = OH_ArkUI_PointerEvent_GetPointerCount(&uiInputEvent); 148 EXPECT_EQ(result, ARKUI_EVENT_POINTERCOUNTER_NULL) << " , result = " << result; 149 150 // case 2 151 inputEvent.clickPointSize = ARKUI_EVENT_POINTERCOUNTER; 152 uiInputEvent = ArkUI_UIInputEvent { ARKUI_UIINPUTEVENT_TYPE_UNKNOWN, C_CLICK_EVENT_ID, &inputEvent }; 153 result = OH_ArkUI_PointerEvent_GetPointerCount(&uiInputEvent); 154 EXPECT_EQ(result, ARKUI_EVENT_POINTERCOUNTER) << " , result = " << result; 155 } 156 157 /** 158 * @tc.name: OH_ArkUI_PointerEvent_GetPointerCount105 159 * @tc.desc: Test the OH_ArkUI_PointerEvent_GetPointerCount function. 160 * @tc.type: FUNC 161 */ 162 HWTEST_F(UIInputEventTest, OH_ArkUI_PointerEvent_GetPointerCount105, TestSize.Level0) 163 { 164 /** 165 * @tc.steps: step1.create and init ArkUI_UIInputEvent. 166 */ 167 // 2 Other ArkUIEventTypeId 168 std::vector<ArkUIEventTypeId> typeIds = { 169 AXIS_EVENT_ID, 170 TOUCH_EVENT_ID, 171 C_KEY_EVENT_ID, 172 C_FOCUS_AXIS_EVENT_ID, 173 C_HOVER_EVENT_ID 174 }; 175 176 /** 177 * @tc.steps: step2. Init testCases and call functions. 178 * @tc.expected: Return expected results. 179 */ 180 auto count = 0; 181 for (auto typeId : typeIds) { 182 auto uiInputEvent = ArkUI_UIInputEvent { ARKUI_UIINPUTEVENT_TYPE_UNKNOWN, typeId, nullptr }; 183 auto result = OH_ArkUI_PointerEvent_GetPointerCount(&uiInputEvent); 184 EXPECT_EQ(result, ARKUI_EVENT_POINTERCOUNTER_NULL) << "other index = " << count; 185 count++; 186 } 187 } 188 189 } // namespace OHOS::Ace