• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
16 #include <gmock/gmock.h>
17 #include <gtest/gtest.h>
18 
19 #include "anco_channel_stub.h"
20 #include "mock.h"
21 #include "mmi_log.h"
22 
23 #undef MMI_LOG_TAG
24 #define MMI_LOG_TAG "AncoChannelStubExTest"
25 
26 namespace OHOS {
27 namespace MMI {
28 namespace {
29 using namespace testing::ext;
30 using namespace testing;
31 
32 class AncoChannelTest : public AncoChannelStub {
33 public:
34     AncoChannelTest() = default;
35     virtual ~AncoChannelTest() = default;
36 
SyncInputEvent(std::shared_ptr<PointerEvent> pointerEvent)37     int32_t SyncInputEvent(std::shared_ptr<PointerEvent> pointerEvent)
38     {
39         return 0;
40     }
SyncInputEvent(std::shared_ptr<KeyEvent> keyEvent)41     int32_t SyncInputEvent(std::shared_ptr<KeyEvent> keyEvent)
42     {
43         return 0;
44     }
UpdateWindowInfo(std::shared_ptr<AncoWindows> windows)45     int32_t UpdateWindowInfo(std::shared_ptr<AncoWindows> windows)
46     {
47         return 0;
48     }
SyncKnuckleStatus(bool isKnuckleEnable)49     int32_t SyncKnuckleStatus(bool isKnuckleEnable)
50     {
51         return 0;
52     }
UpdateOneHandData(const AncoOneHandData & oneHandData)53     int32_t UpdateOneHandData(const AncoOneHandData &oneHandData)
54     {
55         return 0;
56     }
57 };
58 } // namespace
59 
60 class AncoChannelStubExTest : public testing::Test {
61 public:
62     static void SetUpTestCase(void);
63     static void TearDownTestCase();
SetUp()64     void SetUp() {}
TearDown()65     void TearDown() {}
66 
67     static inline std::shared_ptr<MessageParcelMock> messageParcelMock_ = nullptr;
68 };
69 
SetUpTestCase(void)70 void AncoChannelStubExTest::SetUpTestCase(void)
71 {
72     messageParcelMock_ = std::make_shared<MessageParcelMock>();
73     MessageParcelMock::messageParcel = messageParcelMock_;
74 }
TearDownTestCase()75 void AncoChannelStubExTest::TearDownTestCase()
76 {
77     MessageParcelMock::messageParcel = nullptr;
78     messageParcelMock_ = nullptr;
79 }
80 
81 /**
82  * @tc.name: AncoChannelStubExTest_StubSyncPointerEvent
83  * @tc.desc: Test StubSyncPointerEvent
84  * @tc.type: FUNC
85  * @tc.require:
86  */
87 HWTEST_F(AncoChannelStubExTest, AncoChannelStubExTest_StubSyncPointerEvent, TestSize.Level2)
88 {
89     CALL_TEST_DEBUG;
90     EXPECT_CALL(*messageParcelMock_, ReadFromParcel(_)).WillRepeatedly(Return(false));
91     std::shared_ptr<AncoChannelStub> ancoChannel = std::make_shared<AncoChannelTest>();
92     ASSERT_NE(ancoChannel, nullptr);
93     MessageParcel data;
94     MessageParcel reply;
95     EXPECT_EQ(ancoChannel->StubSyncPointerEvent(data, reply), RET_ERR);
96 }
97 
98 /**
99  * @tc.name: AncoChannelStubExTest_StubSyncPointerEvent_001
100  * @tc.desc: Test StubSyncPointerEvent
101  * @tc.type: FUNC
102  * @tc.require:
103  */
104 HWTEST_F(AncoChannelStubExTest, AncoChannelStubExTest_StubSyncPointerEvent_001, TestSize.Level1)
105 {
106     CALL_TEST_DEBUG;
107     EXPECT_CALL(*messageParcelMock_, ReadFromParcel(_)).WillRepeatedly(Return(true));
108     std::shared_ptr<AncoChannelStub> ancoChannel = std::make_shared<AncoChannelTest>();
109     ASSERT_NE(ancoChannel, nullptr);
110     MessageParcel data;
111     MessageParcel reply;
112     EXPECT_NE(ancoChannel->StubSyncPointerEvent(data, reply), RET_ERR);
113 }
114 
115 /**
116  * @tc.name: AncoChannelStubExTest_StubSyncKeyEvent
117  * @tc.desc: Test StubSyncKeyEvent
118  * @tc.type: FUNC
119  * @tc.require:
120  */
121 HWTEST_F(AncoChannelStubExTest, AncoChannelStubExTest_StubSyncKeyEvent, TestSize.Level1)
122 {
123     CALL_TEST_DEBUG;
124     EXPECT_CALL(*messageParcelMock_, ReadFromParcel(_)).WillRepeatedly(Return(false));
125     std::shared_ptr<AncoChannelStub> ancoChannel = std::make_shared<AncoChannelTest>();
126     ASSERT_NE(ancoChannel, nullptr);
127     MessageParcel data;
128     MessageParcel reply;
129     EXPECT_EQ(ancoChannel->StubSyncKeyEvent(data, reply), RET_ERR);
130 }
131 
132 /**
133  * @tc.name: AncoChannelStubExTest_StubSyncKeyEvent_001
134  * @tc.desc: Test StubSyncKeyEvent
135  * @tc.type: FUNC
136  * @tc.require:
137  */
138 HWTEST_F(AncoChannelStubExTest, AncoChannelStubExTest_StubSyncKeyEvent_001, TestSize.Level2)
139 {
140     CALL_TEST_DEBUG;
141     EXPECT_CALL(*messageParcelMock_, ReadFromParcel(_)).WillRepeatedly(Return(true));
142     std::shared_ptr<AncoChannelStub> ancoChannel = std::make_shared<AncoChannelTest>();
143     ASSERT_NE(ancoChannel, nullptr);
144     MessageParcel data;
145     MessageParcel reply;
146     EXPECT_NE(ancoChannel->StubSyncKeyEvent(data, reply), RET_ERR);
147 }
148 
149 /**
150  * @tc.name: AncoChannelStubExTest_StubUpdateWindowInfo
151  * @tc.desc: Test StubUpdateWindowInfo
152  * @tc.type: FUNC
153  * @tc.require:
154  */
155 HWTEST_F(AncoChannelStubExTest, AncoChannelStubExTest_StubUpdateWindowInfo, TestSize.Level1)
156 {
157     CALL_TEST_DEBUG;
158     std::shared_ptr<AncoChannelStub> ancoChannel = std::make_shared<AncoChannelTest>();
159     ASSERT_NE(ancoChannel, nullptr);
160     MessageParcel data;
161     MessageParcel reply;
162     EXPECT_EQ(ancoChannel->StubUpdateWindowInfo(data, reply), RET_ERR);
163 }
164 
165 /**
166  * @tc.name: AncoChannelStubExTest_StubSyncKnuckleStatus
167  * @tc.desc: Test StubSyncKnuckleStatus
168  * @tc.type: FUNC
169  * @tc.require:
170  */
171 HWTEST_F(AncoChannelStubExTest, AncoChannelStubExTest_StubSyncKnuckleStatus, TestSize.Level2)
172 {
173     CALL_TEST_DEBUG;
174     std::shared_ptr<AncoChannelStub> ancoChannel = std::make_shared<AncoChannelTest>();
175     ASSERT_NE(ancoChannel, nullptr);
176     MessageParcel data;
177     MessageParcel reply;
178     EXPECT_EQ(ancoChannel->StubSyncKnuckleStatus(data, reply), RET_ERR);
179 }
180 
181 /**
182  * @tc.name: AncoChannelStubExTest_StubUpdateOneHandData
183  * @tc.desc: Test StubUpdateOneHandData
184  * @tc.type: FUNC
185  * @tc.require:
186  */
187 HWTEST_F(AncoChannelStubExTest, AncoChannelStubExTest_StubUpdateOneHandData, TestSize.Level1)
188 {
189     CALL_TEST_DEBUG;
190     std::shared_ptr<AncoChannelStub> ancoChannel = std::make_shared<AncoChannelTest>();
191     ASSERT_NE(ancoChannel, nullptr);
192     MessageParcel data;
193     MessageParcel reply;
194     EXPECT_EQ(ancoChannel->StubUpdateOneHandData(data, reply), RET_ERR);
195 }
196 } // namespace MMI
197 } // namespace OHOS