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 uint64_t ARKUI_EVENT_ARKUI_TIME = 20; 23 constexpr uint64_t ARKUI_EVENT_ARKUI_TIME_NULL = 0; 24 } // namespace 25 26 namespace OHOS::Ace { 27 28 /** 29 * @tc.name: OH_ArkUI_UIInputEvent_GetEventTime001 30 * @tc.desc: Test the OH_ArkUI_UIInputEvent_GetEventTime function. 31 * @tc.type: FUNC 32 */ 33 HWTEST_F(UIInputEventTest, OH_ArkUI_UIInputEvent_GetEventTime001, TestSize.Level0) 34 { 35 /** 36 * @tc.steps: step1.call functions and return expected results. 37 */ 38 auto result = OH_ArkUI_UIInputEvent_GetEventTime(nullptr); 39 EXPECT_EQ(result, ARKUI_EVENT_ARKUI_TIME_NULL); 40 } 41 42 /** 43 * @tc.name: OH_ArkUI_UIInputEvent_GetEventTime101 44 * @tc.desc: Test the OH_ArkUI_UIInputEvent_GetEventTime function. 45 * @tc.type: FUNC 46 */ 47 HWTEST_F(UIInputEventTest, OH_ArkUI_UIInputEvent_GetEventTime101, TestSize.Level0) 48 { 49 /** 50 * @tc.steps: step1.create and init ArkUI_UIInputEvent. 51 */ 52 // 1 ArkUITouchEvent {C_TOUCH_EVENT_ID, HandleCTouchEvent} 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_UIInputEvent_GetEventTime(&uiInputEvent); 62 EXPECT_EQ(result, ARKUI_EVENT_ARKUI_TIME_NULL) << " , result = " << result; 63 64 // case 2 65 inputEvent.timeStamp = ARKUI_EVENT_ARKUI_TIME; 66 uiInputEvent = ArkUI_UIInputEvent { ARKUI_UIINPUTEVENT_TYPE_UNKNOWN, C_TOUCH_EVENT_ID, &inputEvent }; 67 result = OH_ArkUI_UIInputEvent_GetEventTime(&uiInputEvent); 68 EXPECT_EQ(result, ARKUI_EVENT_ARKUI_TIME) << " , result = " << result; 69 } 70 71 /** 72 * @tc.name: OH_ArkUI_UIInputEvent_GetEventTime102 73 * @tc.desc: Test the OH_ArkUI_UIInputEvent_GetEventTime function. 74 * @tc.type: FUNC 75 */ 76 HWTEST_F(UIInputEventTest, OH_ArkUI_UIInputEvent_GetEventTime102, TestSize.Level0) 77 { 78 /** 79 * @tc.steps: step1.create and init ArkUI_UIInputEvent. 80 */ 81 // 2 ArkUIMouseEvent {C_MOUSE_EVENT_ID, HandleCMouseEvent} 82 ArkUIMouseEvent inputEvent; 83 84 /** 85 * @tc.steps: step2. Init testCases and call functions. 86 * @tc.expected: Return expected results. 87 */ 88 // case 1 89 auto uiInputEvent = ArkUI_UIInputEvent { ARKUI_UIINPUTEVENT_TYPE_UNKNOWN, C_MOUSE_EVENT_ID, nullptr }; 90 auto result = OH_ArkUI_UIInputEvent_GetEventTime(&uiInputEvent); 91 EXPECT_EQ(result, ARKUI_EVENT_ARKUI_TIME_NULL) << " , result = " << result; 92 93 // case 2 94 inputEvent.timeStamp = ARKUI_EVENT_ARKUI_TIME; 95 uiInputEvent = ArkUI_UIInputEvent { ARKUI_UIINPUTEVENT_TYPE_UNKNOWN, C_MOUSE_EVENT_ID, &inputEvent }; 96 result = OH_ArkUI_UIInputEvent_GetEventTime(&uiInputEvent); 97 EXPECT_EQ(result, ARKUI_EVENT_ARKUI_TIME) << " , result = " << result; 98 } 99 100 /** 101 * @tc.name: OH_ArkUI_UIInputEvent_GetEventTime103 102 * @tc.desc: Test the OH_ArkUI_UIInputEvent_GetEventTime function. 103 * @tc.type: FUNC 104 */ 105 HWTEST_F(UIInputEventTest, OH_ArkUI_UIInputEvent_GetEventTime103, TestSize.Level0) 106 { 107 /** 108 * @tc.steps: step1.create and init ArkUI_UIInputEvent. 109 */ 110 // 3 ArkUIAxisEvent {C_AXIS_EVENT_ID, HandleCAxisEvent} 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_UIInputEvent_GetEventTime(&uiInputEvent); 120 EXPECT_EQ(result, ARKUI_EVENT_ARKUI_TIME_NULL) << " , result = " << result; 121 122 // case 2 123 inputEvent.timeStamp = ARKUI_EVENT_ARKUI_TIME; 124 uiInputEvent = ArkUI_UIInputEvent { ARKUI_UIINPUTEVENT_TYPE_UNKNOWN, C_AXIS_EVENT_ID, &inputEvent }; 125 result = OH_ArkUI_UIInputEvent_GetEventTime(&uiInputEvent); 126 EXPECT_EQ(result, ARKUI_EVENT_ARKUI_TIME) << " , result = " << result; 127 } 128 129 /** 130 * @tc.name: OH_ArkUI_UIInputEvent_GetEventTime104 131 * @tc.desc: Test the OH_ArkUI_UIInputEvent_GetEventTime function. 132 * @tc.type: FUNC 133 */ 134 HWTEST_F(UIInputEventTest, OH_ArkUI_UIInputEvent_GetEventTime104, TestSize.Level0) 135 { 136 /** 137 * @tc.steps: step1.create and init ArkUI_UIInputEvent. 138 */ 139 // 4 ArkUIFocusAxisEvent {C_FOCUS_AXIS_EVENT_ID, HandleCFocusAxisEvent} 140 ArkUIFocusAxisEvent inputEvent; 141 142 /** 143 * @tc.steps: step2. Init testCases and call functions. 144 * @tc.expected: Return expected results. 145 */ 146 // case 1 147 auto uiInputEvent = ArkUI_UIInputEvent { ARKUI_UIINPUTEVENT_TYPE_UNKNOWN, C_FOCUS_AXIS_EVENT_ID, nullptr }; 148 auto result = OH_ArkUI_UIInputEvent_GetEventTime(&uiInputEvent); 149 EXPECT_EQ(result, ARKUI_EVENT_ARKUI_TIME_NULL) << " , result = " << result; 150 151 // case 2 152 inputEvent.timeStamp = ARKUI_EVENT_ARKUI_TIME; 153 uiInputEvent = ArkUI_UIInputEvent { ARKUI_UIINPUTEVENT_TYPE_UNKNOWN, C_FOCUS_AXIS_EVENT_ID, &inputEvent }; 154 result = OH_ArkUI_UIInputEvent_GetEventTime(&uiInputEvent); 155 EXPECT_EQ(result, ARKUI_EVENT_ARKUI_TIME) << " , result = " << result; 156 } 157 158 /** 159 * @tc.name: OH_ArkUI_UIInputEvent_GetEventTime105 160 * @tc.desc: Test the OH_ArkUI_UIInputEvent_GetEventTime function. 161 * @tc.type: FUNC 162 */ 163 HWTEST_F(UIInputEventTest, OH_ArkUI_UIInputEvent_GetEventTime105, TestSize.Level0) 164 { 165 /** 166 * @tc.steps: step1.create and init ArkUI_UIInputEvent. 167 */ 168 // 5 ArkUIHoverEvent {C_HOVER_EVENT_ID, HandleCHoverEventTimestamp} 169 ArkUIHoverEvent inputEvent; 170 171 /** 172 * @tc.steps: step2. Init testCases and call functions. 173 * @tc.expected: Return expected results. 174 */ 175 // case 1 176 auto uiInputEvent = ArkUI_UIInputEvent { ARKUI_UIINPUTEVENT_TYPE_UNKNOWN, C_HOVER_EVENT_ID, nullptr }; 177 auto result = OH_ArkUI_UIInputEvent_GetEventTime(&uiInputEvent); 178 EXPECT_EQ(result, ARKUI_EVENT_ARKUI_TIME_NULL) << " , result = " << result; 179 180 // case 2 181 inputEvent.timeStamp = ARKUI_EVENT_ARKUI_TIME; 182 uiInputEvent = ArkUI_UIInputEvent { ARKUI_UIINPUTEVENT_TYPE_UNKNOWN, C_HOVER_EVENT_ID, &inputEvent }; 183 result = OH_ArkUI_UIInputEvent_GetEventTime(&uiInputEvent); 184 EXPECT_EQ(result, ARKUI_EVENT_ARKUI_TIME) << " , result = " << result; 185 } 186 187 /** 188 * @tc.name: OH_ArkUI_UIInputEvent_GetEventTime106 189 * @tc.desc: Test the OH_ArkUI_UIInputEvent_GetEventTime function. 190 * @tc.type: FUNC 191 */ 192 HWTEST_F(UIInputEventTest, OH_ArkUI_UIInputEvent_GetEventTime106, TestSize.Level0) 193 { 194 /** 195 * @tc.steps: step1.create and init ArkUI_UIInputEvent. 196 */ 197 // 6 ArkUIClickEvent {C_CLICK_EVENT_ID, HandleCClickEventTimestamp} 198 ArkUIClickEvent inputEvent; 199 200 /** 201 * @tc.steps: step2. Init testCases and call functions. 202 * @tc.expected: Return expected results. 203 */ 204 // case 1 205 auto uiInputEvent = ArkUI_UIInputEvent { ARKUI_UIINPUTEVENT_TYPE_UNKNOWN, C_CLICK_EVENT_ID, nullptr }; 206 auto result = OH_ArkUI_UIInputEvent_GetEventTime(&uiInputEvent); 207 EXPECT_EQ(result, ARKUI_EVENT_ARKUI_TIME_NULL) << " , result = " << result; 208 209 // case 2 210 inputEvent.timestamp = ARKUI_EVENT_ARKUI_TIME; 211 uiInputEvent = ArkUI_UIInputEvent { ARKUI_UIINPUTEVENT_TYPE_UNKNOWN, C_CLICK_EVENT_ID, &inputEvent }; 212 result = OH_ArkUI_UIInputEvent_GetEventTime(&uiInputEvent); 213 EXPECT_EQ(result, ARKUI_EVENT_ARKUI_TIME) << " , result = " << result; 214 } 215 216 /** 217 * @tc.name: OH_ArkUI_UIInputEvent_GetEventTime107 218 * @tc.desc: Test the OH_ArkUI_UIInputEvent_GetEventTime function. 219 * @tc.type: FUNC 220 */ 221 HWTEST_F(UIInputEventTest, OH_ArkUI_UIInputEvent_GetEventTime107, TestSize.Level0) 222 { 223 /** 224 * @tc.steps: step1.create and init ArkUI_UIInputEvent. 225 */ 226 // 7 OHOS::Ace::AxisEvent {AXIS_EVENT_ID, HandleAxisEvent} 227 OHOS::Ace::PointerEvent inputEvent; 228 229 /** 230 * @tc.steps: step2. Init testCases and call functions. 231 * @tc.expected: Return expected results. 232 */ 233 // case 1 234 auto uiInputEvent = ArkUI_UIInputEvent { ARKUI_UIINPUTEVENT_TYPE_UNKNOWN, AXIS_EVENT_ID, nullptr }; 235 auto result = OH_ArkUI_UIInputEvent_GetEventTime(&uiInputEvent); 236 EXPECT_EQ(result, ARKUI_EVENT_ARKUI_TIME_NULL) << " , result = " << result; 237 238 // case 2 239 inputEvent.time = TimeStamp(std::chrono::nanoseconds(ARKUI_EVENT_ARKUI_TIME)); 240 uiInputEvent = ArkUI_UIInputEvent { ARKUI_UIINPUTEVENT_TYPE_UNKNOWN, AXIS_EVENT_ID, &inputEvent }; 241 result = OH_ArkUI_UIInputEvent_GetEventTime(&uiInputEvent); 242 EXPECT_EQ(result, inputEvent.time.time_since_epoch().count()) << " , result = " << result; 243 } 244 245 /** 246 * @tc.name: OH_ArkUI_UIInputEvent_GetEventTime108 247 * @tc.desc: Test the OH_ArkUI_UIInputEvent_GetEventTime function. 248 * @tc.type: FUNC 249 */ 250 HWTEST_F(UIInputEventTest, OH_ArkUI_UIInputEvent_GetEventTime108, TestSize.Level0) 251 { 252 /** 253 * @tc.steps: step1.create and init ArkUI_UIInputEvent. 254 */ 255 // 8 OHOS::Ace::TouchEvent {TOUCH_EVENT_ID, HandleTouchEvent} 256 OHOS::Ace::PointerEvent inputEvent; 257 258 /** 259 * @tc.steps: step2. Init testCases and call functions. 260 * @tc.expected: Return expected results. 261 */ 262 // case 1 263 auto uiInputEvent = ArkUI_UIInputEvent { ARKUI_UIINPUTEVENT_TYPE_UNKNOWN, TOUCH_EVENT_ID, nullptr }; 264 auto result = OH_ArkUI_UIInputEvent_GetEventTime(&uiInputEvent); 265 EXPECT_EQ(result, ARKUI_EVENT_ARKUI_TIME_NULL) << " , result = " << result; 266 267 // case 2 268 inputEvent.time = TimeStamp(std::chrono::nanoseconds(ARKUI_EVENT_ARKUI_TIME)); 269 uiInputEvent = ArkUI_UIInputEvent { ARKUI_UIINPUTEVENT_TYPE_UNKNOWN, TOUCH_EVENT_ID, &inputEvent }; 270 result = OH_ArkUI_UIInputEvent_GetEventTime(&uiInputEvent); 271 EXPECT_EQ(result, inputEvent.time.time_since_epoch().count()) << " , result = " << result; 272 } 273 274 /** 275 * @tc.name: OH_ArkUI_UIInputEvent_GetEventTime109 276 * @tc.desc: Test the OH_ArkUI_UIInputEvent_GetEventTime function. 277 * @tc.type: FUNC 278 */ 279 HWTEST_F(UIInputEventTest, OH_ArkUI_UIInputEvent_GetEventTime109, TestSize.Level0) 280 { 281 /** 282 * @tc.steps: step1.create and init ArkUI_UIInputEvent. 283 */ 284 // 9 ArkUIKeyEvent {C_KEY_EVENT_ID, HandleCKeyEvent} 285 ArkUIKeyEvent inputEvent; 286 287 /** 288 * @tc.steps: step2. Init testCases and call functions. 289 * @tc.expected: Return expected results. 290 */ 291 // case 1 292 auto uiInputEvent = ArkUI_UIInputEvent { ARKUI_UIINPUTEVENT_TYPE_UNKNOWN, C_KEY_EVENT_ID, nullptr }; 293 auto result = OH_ArkUI_UIInputEvent_GetEventTime(&uiInputEvent); 294 EXPECT_EQ(result, ARKUI_EVENT_ARKUI_TIME_NULL) << " , result = " << result; 295 296 // case 2 297 inputEvent.timestamp = ARKUI_EVENT_ARKUI_TIME; 298 uiInputEvent = ArkUI_UIInputEvent { ARKUI_UIINPUTEVENT_TYPE_UNKNOWN, C_KEY_EVENT_ID, &inputEvent }; 299 result = OH_ArkUI_UIInputEvent_GetEventTime(&uiInputEvent); 300 EXPECT_EQ(result, ARKUI_EVENT_ARKUI_TIME) << " , result = " << result; 301 } 302 303 } // namespace OHOS::Ace