17c804472Sopenharmony_ci/* 27c804472Sopenharmony_ci * Copyright (c) 2024 Huawei Device Co., Ltd. 37c804472Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 47c804472Sopenharmony_ci * you may not use this file except in compliance with the License. 57c804472Sopenharmony_ci * You may obtain a copy of the License at 67c804472Sopenharmony_ci * 77c804472Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 87c804472Sopenharmony_ci * 97c804472Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 107c804472Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 117c804472Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 127c804472Sopenharmony_ci * See the License for the specific language governing permissions and 137c804472Sopenharmony_ci * limitations under the License. 147c804472Sopenharmony_ci */ 157c804472Sopenharmony_ci 167c804472Sopenharmony_ci#include <string> 177c804472Sopenharmony_ci#include <vector> 187c804472Sopenharmony_ci#include "gtest/gtest.h" 197c804472Sopenharmony_ci#define private public 207c804472Sopenharmony_ci#define protected public 217c804472Sopenharmony_ci#include "MouseInputImpl.h" 227c804472Sopenharmony_ci#include "MockGlobalResult.h" 237c804472Sopenharmony_ci 247c804472Sopenharmony_cinamespace { 257c804472Sopenharmony_ci TEST(MouseInputImplTest, SetMouseStatusTest) 267c804472Sopenharmony_ci { 277c804472Sopenharmony_ci int status = 1; 287c804472Sopenharmony_ci MouseInputImpl::GetInstance().SetMouseStatus(status); 297c804472Sopenharmony_ci EXPECT_EQ(MouseInputImpl::GetInstance().touchAction, status); 307c804472Sopenharmony_ci } 317c804472Sopenharmony_ci 327c804472Sopenharmony_ci TEST(MouseInputImplTest, SetMousePositionTest) 337c804472Sopenharmony_ci { 347c804472Sopenharmony_ci double x = 100; 357c804472Sopenharmony_ci double y = 200; 367c804472Sopenharmony_ci MouseInputImpl::GetInstance().SetMousePosition(x, y); 377c804472Sopenharmony_ci EXPECT_EQ(MouseInputImpl::GetInstance().mouseXPosition, x); 387c804472Sopenharmony_ci EXPECT_EQ(MouseInputImpl::GetInstance().mouseYPosition, y); 397c804472Sopenharmony_ci EXPECT_EQ(MouseInputImpl::GetInstance().GetMouseXPosition(), x); 407c804472Sopenharmony_ci EXPECT_EQ(MouseInputImpl::GetInstance().GetMouseYPosition(), y); 417c804472Sopenharmony_ci } 427c804472Sopenharmony_ci 437c804472Sopenharmony_ci TEST(MouseInputImplTest, SetMouseButtonTest) 447c804472Sopenharmony_ci { 457c804472Sopenharmony_ci int btn = 1; 467c804472Sopenharmony_ci MouseInputImpl::GetInstance().SetMouseButton(btn); 477c804472Sopenharmony_ci EXPECT_EQ(MouseInputImpl::GetInstance().pointButton, btn); 487c804472Sopenharmony_ci } 497c804472Sopenharmony_ci 507c804472Sopenharmony_ci TEST(MouseInputImplTest, SetMouseActionTest) 517c804472Sopenharmony_ci { 527c804472Sopenharmony_ci int action = 1; 537c804472Sopenharmony_ci MouseInputImpl::GetInstance().SetMouseAction(action); 547c804472Sopenharmony_ci EXPECT_EQ(MouseInputImpl::GetInstance().pointAction, action); 557c804472Sopenharmony_ci } 567c804472Sopenharmony_ci 577c804472Sopenharmony_ci TEST(MouseInputImplTest, SetSourceTypeTest) 587c804472Sopenharmony_ci { 597c804472Sopenharmony_ci int type = 1; 607c804472Sopenharmony_ci MouseInputImpl::GetInstance().SetSourceType(type); 617c804472Sopenharmony_ci EXPECT_EQ(MouseInputImpl::GetInstance().sourceType, type); 627c804472Sopenharmony_ci } 637c804472Sopenharmony_ci 647c804472Sopenharmony_ci TEST(MouseInputImplTest, SetSourceToolTest) 657c804472Sopenharmony_ci { 667c804472Sopenharmony_ci int tool = 1; 677c804472Sopenharmony_ci MouseInputImpl::GetInstance().SetSourceTool(tool); 687c804472Sopenharmony_ci EXPECT_EQ(MouseInputImpl::GetInstance().sourceTool, tool); 697c804472Sopenharmony_ci } 707c804472Sopenharmony_ci 717c804472Sopenharmony_ci TEST(MouseInputImplTest, SetPressedBtnsTest) 727c804472Sopenharmony_ci { 737c804472Sopenharmony_ci std::set<int> pressedBtns; 747c804472Sopenharmony_ci MouseInputImpl::GetInstance().SetPressedBtns(pressedBtns); 757c804472Sopenharmony_ci EXPECT_EQ(MouseInputImpl::GetInstance().pressedBtnsVec, pressedBtns); 767c804472Sopenharmony_ci } 777c804472Sopenharmony_ci 787c804472Sopenharmony_ci TEST(MouseInputImplTest, SetAxisValuesTest) 797c804472Sopenharmony_ci { 807c804472Sopenharmony_ci std::vector<double> axisValues; 817c804472Sopenharmony_ci MouseInputImpl::GetInstance().SetAxisValues(axisValues); 827c804472Sopenharmony_ci EXPECT_EQ(MouseInputImpl::GetInstance().axisValuesArr, axisValues); 837c804472Sopenharmony_ci } 847c804472Sopenharmony_ci 857c804472Sopenharmony_ci TEST(MouseInputImplTest, DispatchOsTouchEventTest) 867c804472Sopenharmony_ci { 877c804472Sopenharmony_ci g_dispatchPointerEvent = false; 887c804472Sopenharmony_ci MouseInputImpl::GetInstance().DispatchOsTouchEvent(); 897c804472Sopenharmony_ci EXPECT_TRUE(g_dispatchPointerEvent); 907c804472Sopenharmony_ci } 917c804472Sopenharmony_ci 927c804472Sopenharmony_ci TEST(MouseInputImplTest, DispatchOsBackEventTest) 937c804472Sopenharmony_ci { 947c804472Sopenharmony_ci g_dispatchBackPressedEvent = false; 957c804472Sopenharmony_ci MouseInputImpl::GetInstance().DispatchOsBackEvent(); 967c804472Sopenharmony_ci EXPECT_TRUE(g_dispatchBackPressedEvent); 977c804472Sopenharmony_ci } 987c804472Sopenharmony_ci 997c804472Sopenharmony_ci TEST(MouseInputImplTest, ConvertToOsTypeTest) 1007c804472Sopenharmony_ci { 1017c804472Sopenharmony_ci int typeNum = -1; 1027c804472Sopenharmony_ci EXPECT_EQ(MouseInputImpl::GetInstance().ConvertToOsType(typeNum), OHOS::MMI::TouchType::UNKNOWN); 1037c804472Sopenharmony_ci 1047c804472Sopenharmony_ci typeNum = 10; 1057c804472Sopenharmony_ci EXPECT_EQ(MouseInputImpl::GetInstance().ConvertToOsType(typeNum), OHOS::MMI::TouchType::UNKNOWN); 1067c804472Sopenharmony_ci 1077c804472Sopenharmony_ci typeNum = 0; 1087c804472Sopenharmony_ci EXPECT_EQ(MouseInputImpl::GetInstance().ConvertToOsType(typeNum), OHOS::MMI::TouchType::DOWN); 1097c804472Sopenharmony_ci 1107c804472Sopenharmony_ci typeNum = 1; 1117c804472Sopenharmony_ci EXPECT_EQ(MouseInputImpl::GetInstance().ConvertToOsType(typeNum), OHOS::MMI::TouchType::UP); 1127c804472Sopenharmony_ci 1137c804472Sopenharmony_ci typeNum = 2; 1147c804472Sopenharmony_ci EXPECT_EQ(MouseInputImpl::GetInstance().ConvertToOsType(typeNum), OHOS::MMI::TouchType::MOVE); 1157c804472Sopenharmony_ci 1167c804472Sopenharmony_ci typeNum = 3; 1177c804472Sopenharmony_ci EXPECT_EQ(MouseInputImpl::GetInstance().ConvertToOsType(typeNum), OHOS::MMI::TouchType::CANCEL); 1187c804472Sopenharmony_ci 1197c804472Sopenharmony_ci typeNum = 4; 1207c804472Sopenharmony_ci EXPECT_EQ(MouseInputImpl::GetInstance().ConvertToOsType(typeNum), OHOS::MMI::TouchType::PULL_DOWN); 1217c804472Sopenharmony_ci 1227c804472Sopenharmony_ci typeNum = 5; 1237c804472Sopenharmony_ci EXPECT_EQ(MouseInputImpl::GetInstance().ConvertToOsType(typeNum), OHOS::MMI::TouchType::PULL_UP); 1247c804472Sopenharmony_ci 1257c804472Sopenharmony_ci typeNum = 6; 1267c804472Sopenharmony_ci EXPECT_EQ(MouseInputImpl::GetInstance().ConvertToOsType(typeNum), OHOS::MMI::TouchType::PULL_MOVE); 1277c804472Sopenharmony_ci 1287c804472Sopenharmony_ci typeNum = 7; 1297c804472Sopenharmony_ci EXPECT_EQ(MouseInputImpl::GetInstance().ConvertToOsType(typeNum), OHOS::MMI::TouchType::PULL_IN_WINDOW); 1307c804472Sopenharmony_ci 1317c804472Sopenharmony_ci typeNum = 8; 1327c804472Sopenharmony_ci EXPECT_EQ(MouseInputImpl::GetInstance().ConvertToOsType(typeNum), OHOS::MMI::TouchType::PULL_OUT_WINDOW); 1337c804472Sopenharmony_ci 1347c804472Sopenharmony_ci typeNum = 9; 1357c804472Sopenharmony_ci EXPECT_EQ(MouseInputImpl::GetInstance().ConvertToOsType(typeNum), OHOS::MMI::TouchType::UNKNOWN); 1367c804472Sopenharmony_ci } 1377c804472Sopenharmony_ci 1387c804472Sopenharmony_ci TEST(MouseInputImplTest, ConvertToOsToolTest) 1397c804472Sopenharmony_ci { 1407c804472Sopenharmony_ci int typeNum = -1; 1417c804472Sopenharmony_ci EXPECT_EQ(MouseInputImpl::GetInstance().ConvertToOsTool(typeNum), OHOS::MMI::SourceTool::UNKNOWN); 1427c804472Sopenharmony_ci 1437c804472Sopenharmony_ci typeNum = 10; 1447c804472Sopenharmony_ci EXPECT_EQ(MouseInputImpl::GetInstance().ConvertToOsTool(typeNum), OHOS::MMI::SourceTool::UNKNOWN); 1457c804472Sopenharmony_ci 1467c804472Sopenharmony_ci typeNum = 0; 1477c804472Sopenharmony_ci EXPECT_EQ(MouseInputImpl::GetInstance().ConvertToOsTool(typeNum), OHOS::MMI::SourceTool::UNKNOWN); 1487c804472Sopenharmony_ci 1497c804472Sopenharmony_ci typeNum = 1; 1507c804472Sopenharmony_ci EXPECT_EQ(MouseInputImpl::GetInstance().ConvertToOsTool(typeNum), OHOS::MMI::SourceTool::FINGER); 1517c804472Sopenharmony_ci 1527c804472Sopenharmony_ci typeNum = 2; 1537c804472Sopenharmony_ci EXPECT_EQ(MouseInputImpl::GetInstance().ConvertToOsTool(typeNum), OHOS::MMI::SourceTool::PEN); 1547c804472Sopenharmony_ci 1557c804472Sopenharmony_ci typeNum = 3; 1567c804472Sopenharmony_ci EXPECT_EQ(MouseInputImpl::GetInstance().ConvertToOsTool(typeNum), OHOS::MMI::SourceTool::RUBBER); 1577c804472Sopenharmony_ci 1587c804472Sopenharmony_ci typeNum = 4; 1597c804472Sopenharmony_ci EXPECT_EQ(MouseInputImpl::GetInstance().ConvertToOsTool(typeNum), OHOS::MMI::SourceTool::BRUSH); 1607c804472Sopenharmony_ci 1617c804472Sopenharmony_ci typeNum = 5; 1627c804472Sopenharmony_ci EXPECT_EQ(MouseInputImpl::GetInstance().ConvertToOsTool(typeNum), OHOS::MMI::SourceTool::PENCIL); 1637c804472Sopenharmony_ci 1647c804472Sopenharmony_ci typeNum = 6; 1657c804472Sopenharmony_ci EXPECT_EQ(MouseInputImpl::GetInstance().ConvertToOsTool(typeNum), OHOS::MMI::SourceTool::AIRBRUSH); 1667c804472Sopenharmony_ci 1677c804472Sopenharmony_ci typeNum = 7; 1687c804472Sopenharmony_ci EXPECT_EQ(MouseInputImpl::GetInstance().ConvertToOsTool(typeNum), OHOS::MMI::SourceTool::MOUSE); 1697c804472Sopenharmony_ci 1707c804472Sopenharmony_ci typeNum = 8; 1717c804472Sopenharmony_ci EXPECT_EQ(MouseInputImpl::GetInstance().ConvertToOsTool(typeNum), OHOS::MMI::SourceTool::LENS); 1727c804472Sopenharmony_ci } 1737c804472Sopenharmony_ci}