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 int32_t TEST_DISPLAY_ID = 123; 23 constexpr int32_t DEFAULT_DISPLAY_ID = 0; 24 constexpr ArkUIEventTypeId UNSUPPORTED_EVENT_ID = static_cast<ArkUIEventTypeId>(0xFFFF); 25 } // namespace 26 27 namespace OHOS::Ace { 28 29 /** 30 * @tc.name: OH_ArkUI_UIInputEvent_GetTargetDisplayId001 31 * @tc.desc: Test the OH_ArkUI_UIInputEvent_GetTargetDisplayId function with null parameters. 32 * @tc.type: FUNC 33 */ 34 HWTEST_F(UIInputEventTest, OH_ArkUI_UIInputEvent_GetTargetDisplayId001, TestSize.Level0) 35 { 36 auto result = OH_ArkUI_UIInputEvent_GetTargetDisplayId(nullptr); 37 EXPECT_EQ(result, DEFAULT_DISPLAY_ID); 38 } 39 40 /** 41 * @tc.name: OH_ArkUI_UIInputEvent_GetTargetDisplayId101 42 * @tc.desc: Test the OH_ArkUI_UIInputEvent_GetTargetDisplayId function with C_MOUSE_EVENT_ID. 43 * @tc.type: FUNC 44 */ 45 HWTEST_F(UIInputEventTest, OH_ArkUI_UIInputEvent_GetTargetDisplayId101, TestSize.Level0) 46 { 47 ArkUIMouseEvent mouseEvent; 48 mouseEvent.targetDisplayId = TEST_DISPLAY_ID; 49 ArkUI_UIInputEvent event = { ARKUI_UIINPUTEVENT_TYPE_UNKNOWN, C_MOUSE_EVENT_ID, &mouseEvent }; 50 51 auto result = OH_ArkUI_UIInputEvent_GetTargetDisplayId(&event); 52 EXPECT_EQ(result, TEST_DISPLAY_ID); 53 } 54 55 /** 56 * @tc.name: OH_ArkUI_UIInputEvent_GetTargetDisplayId102 57 * @tc.desc: Test the OH_ArkUI_UIInputEvent_GetTargetDisplayId function with C_TOUCH_EVENT_ID. 58 * @tc.type: FUNC 59 */ 60 HWTEST_F(UIInputEventTest, OH_ArkUI_UIInputEvent_GetTargetDisplayId102, TestSize.Level0) 61 { 62 ArkUITouchEvent touchEvent; 63 touchEvent.targetDisplayId = TEST_DISPLAY_ID; 64 ArkUI_UIInputEvent event = { ARKUI_UIINPUTEVENT_TYPE_UNKNOWN, C_TOUCH_EVENT_ID, &touchEvent }; 65 66 auto result = OH_ArkUI_UIInputEvent_GetTargetDisplayId(&event); 67 EXPECT_EQ(result, TEST_DISPLAY_ID); 68 } 69 70 /** 71 * @tc.name: OH_ArkUI_UIInputEvent_GetTargetDisplayId103 72 * @tc.desc: Test the OH_ArkUI_UIInputEvent_GetTargetDisplayId function with C_AXIS_EVENT_ID. 73 * @tc.type: FUNC 74 */ 75 HWTEST_F(UIInputEventTest, OH_ArkUI_UIInputEvent_GetTargetDisplayId103, TestSize.Level0) 76 { 77 ArkUIAxisEvent axisEvent; 78 axisEvent.targetDisplayId = TEST_DISPLAY_ID; 79 ArkUI_UIInputEvent event = { ARKUI_UIINPUTEVENT_TYPE_UNKNOWN, C_AXIS_EVENT_ID, &axisEvent }; 80 81 auto result = OH_ArkUI_UIInputEvent_GetTargetDisplayId(&event); 82 EXPECT_EQ(result, TEST_DISPLAY_ID); 83 } 84 85 /** 86 * @tc.name: OH_ArkUI_UIInputEvent_GetTargetDisplayId104 87 * @tc.desc: Test the OH_ArkUI_UIInputEvent_GetTargetDisplayId function with C_FOCUS_AXIS_EVENT_ID. 88 * @tc.type: FUNC 89 */ 90 HWTEST_F(UIInputEventTest, OH_ArkUI_UIInputEvent_GetTargetDisplayId104, TestSize.Level0) 91 { 92 ArkUIFocusAxisEvent focusAxisEvent; 93 focusAxisEvent.targetDisplayId = TEST_DISPLAY_ID; 94 ArkUI_UIInputEvent event = { ARKUI_UIINPUTEVENT_TYPE_UNKNOWN, C_FOCUS_AXIS_EVENT_ID, &focusAxisEvent }; 95 96 auto result = OH_ArkUI_UIInputEvent_GetTargetDisplayId(&event); 97 EXPECT_EQ(result, TEST_DISPLAY_ID); 98 } 99 100 /** 101 * @tc.name: OH_ArkUI_UIInputEvent_GetTargetDisplayId105 102 * @tc.desc: Test with TOUCH_EVENT_ID. 103 * @tc.type: FUNC 104 */ 105 HWTEST_F(UIInputEventTest, OH_ArkUI_UIInputEvent_GetTargetDisplayId105, TestSize.Level0) 106 { 107 OHOS::Ace::PointerEvent pointerEvent; 108 ArkUI_UIInputEvent event = { ARKUI_UIINPUTEVENT_TYPE_UNKNOWN, TOUCH_EVENT_ID, &pointerEvent }; 109 110 auto result = OH_ArkUI_UIInputEvent_GetTargetDisplayId(&event); 111 EXPECT_NE(result, 0); 112 } 113 114 /** 115 * @tc.name: OH_ArkUI_UIInputEvent_GetTargetDisplayId106 116 * @tc.desc: Test the OH_ArkUI_UIInputEvent_GetTargetDisplayId function with AXIS_EVENT_ID. 117 * @tc.type: FUNC 118 */ 119 HWTEST_F(UIInputEventTest, OH_ArkUI_UIInputEvent_GetTargetDisplayId106, TestSize.Level0) 120 { 121 OHOS::Ace::PointerEvent pointerEvent; 122 ArkUI_UIInputEvent event = { ARKUI_UIINPUTEVENT_TYPE_UNKNOWN, AXIS_EVENT_ID, &pointerEvent }; 123 124 auto result = OH_ArkUI_UIInputEvent_GetTargetDisplayId(&event); 125 EXPECT_FALSE(result == DEFAULT_DISPLAY_ID || result == TEST_DISPLAY_ID); 126 } 127 128 /** 129 * @tc.name: OH_ArkUI_UIInputEvent_GetTargetDisplayId107 130 * @tc.desc: Test the OH_ArkUI_UIInputEvent_GetTargetDisplayId function with unsupported event type. 131 * @tc.type: FUNC 132 */ 133 HWTEST_F(UIInputEventTest, OH_ArkUI_UIInputEvent_GetTargetDisplayId107, TestSize.Level0) 134 { 135 ArkUI_UIInputEvent event = { ARKUI_UIINPUTEVENT_TYPE_UNKNOWN, UNSUPPORTED_EVENT_ID, nullptr }; 136 137 auto result = OH_ArkUI_UIInputEvent_GetTargetDisplayId(&event); 138 EXPECT_EQ(result, DEFAULT_DISPLAY_ID); 139 } 140 141 } // namespace OHOS::Ace