• 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     }
53 };
54 } // namespace
55 
56 class AncoChannelStubExTest : public testing::Test {
57 public:
58     static void SetUpTestCase(void);
59     static void TearDownTestCase();
SetUp()60     void SetUp() {}
TearDown()61     void TearDown() {}
62 
63     static inline std::shared_ptr<MessageParcelMock> messageParcelMock_ = nullptr;
64 };
65 
SetUpTestCase(void)66 void AncoChannelStubExTest::SetUpTestCase(void)
67 {
68     messageParcelMock_ = std::make_shared<MessageParcelMock>();
69     MessageParcelMock::messageParcel = messageParcelMock_;
70 }
TearDownTestCase()71 void AncoChannelStubExTest::TearDownTestCase()
72 {
73     MessageParcelMock::messageParcel = nullptr;
74     messageParcelMock_ = nullptr;
75 }
76 
77 /**
78  * @tc.name: AncoChannelStubExTest_StubSyncPointerEvent
79  * @tc.desc: Test StubSyncPointerEvent
80  * @tc.type: FUNC
81  * @tc.require:
82  */
83 HWTEST_F(AncoChannelStubExTest, AncoChannelStubExTest_StubSyncPointerEvent, TestSize.Level1)
84 {
85     CALL_TEST_DEBUG;
86     EXPECT_CALL(*messageParcelMock_, ReadFromParcel(_)).WillRepeatedly(Return(false));
87     std::shared_ptr<AncoChannelStub> ancoChannel = std::make_shared<AncoChannelTest>();
88     ASSERT_NE(ancoChannel, nullptr);
89     MessageParcel data;
90     MessageParcel reply;
91     EXPECT_EQ(ancoChannel->StubSyncPointerEvent(data, reply), RET_ERR);
92 }
93 
94 /**
95  * @tc.name: AncoChannelStubExTest_StubSyncPointerEvent_001
96  * @tc.desc: Test StubSyncPointerEvent
97  * @tc.type: FUNC
98  * @tc.require:
99  */
100 HWTEST_F(AncoChannelStubExTest, AncoChannelStubExTest_StubSyncPointerEvent_001, TestSize.Level1)
101 {
102     CALL_TEST_DEBUG;
103     EXPECT_CALL(*messageParcelMock_, ReadFromParcel(_)).WillRepeatedly(Return(true));
104     std::shared_ptr<AncoChannelStub> ancoChannel = std::make_shared<AncoChannelTest>();
105     ASSERT_NE(ancoChannel, nullptr);
106     MessageParcel data;
107     MessageParcel reply;
108     EXPECT_NE(ancoChannel->StubSyncPointerEvent(data, reply), RET_ERR);
109 }
110 
111 /**
112  * @tc.name: AncoChannelStubExTest_StubSyncKeyEvent
113  * @tc.desc: Test StubSyncKeyEvent
114  * @tc.type: FUNC
115  * @tc.require:
116  */
117 HWTEST_F(AncoChannelStubExTest, AncoChannelStubExTest_StubSyncKeyEvent, TestSize.Level1)
118 {
119     CALL_TEST_DEBUG;
120     EXPECT_CALL(*messageParcelMock_, ReadFromParcel(_)).WillRepeatedly(Return(false));
121     std::shared_ptr<AncoChannelStub> ancoChannel = std::make_shared<AncoChannelTest>();
122     ASSERT_NE(ancoChannel, nullptr);
123     MessageParcel data;
124     MessageParcel reply;
125     EXPECT_EQ(ancoChannel->StubSyncKeyEvent(data, reply), RET_ERR);
126 }
127 
128 /**
129  * @tc.name: AncoChannelStubExTest_StubSyncKeyEvent_001
130  * @tc.desc: Test StubSyncKeyEvent
131  * @tc.type: FUNC
132  * @tc.require:
133  */
134 HWTEST_F(AncoChannelStubExTest, AncoChannelStubExTest_StubSyncKeyEvent_001, TestSize.Level1)
135 {
136     CALL_TEST_DEBUG;
137     EXPECT_CALL(*messageParcelMock_, ReadFromParcel(_)).WillRepeatedly(Return(true));
138     std::shared_ptr<AncoChannelStub> ancoChannel = std::make_shared<AncoChannelTest>();
139     ASSERT_NE(ancoChannel, nullptr);
140     MessageParcel data;
141     MessageParcel reply;
142     EXPECT_NE(ancoChannel->StubSyncKeyEvent(data, reply), RET_ERR);
143 }
144 
145 /**
146  * @tc.name: AncoChannelStubExTest_StubUpdateWindowInfo
147  * @tc.desc: Test StubUpdateWindowInfo
148  * @tc.type: FUNC
149  * @tc.require:
150  */
151 HWTEST_F(AncoChannelStubExTest, AncoChannelStubExTest_StubUpdateWindowInfo, TestSize.Level1)
152 {
153     CALL_TEST_DEBUG;
154     std::shared_ptr<AncoChannelStub> ancoChannel = std::make_shared<AncoChannelTest>();
155     ASSERT_NE(ancoChannel, nullptr);
156     MessageParcel data;
157     MessageParcel reply;
158     EXPECT_EQ(ancoChannel->StubUpdateWindowInfo(data, reply), RET_ERR);
159 }
160 
161 /**
162  * @tc.name: AncoChannelStubExTest_StubSyncKnuckleStatus
163  * @tc.desc: Test StubSyncKnuckleStatus
164  * @tc.type: FUNC
165  * @tc.require:
166  */
167 HWTEST_F(AncoChannelStubExTest, AncoChannelStubExTest_StubSyncKnuckleStatus, TestSize.Level1)
168 {
169     CALL_TEST_DEBUG;
170     std::shared_ptr<AncoChannelStub> ancoChannel = std::make_shared<AncoChannelTest>();
171     ASSERT_NE(ancoChannel, nullptr);
172     MessageParcel data;
173     MessageParcel reply;
174     EXPECT_EQ(ancoChannel->StubSyncKnuckleStatus(data, reply), RET_ERR);
175 }
176 } // namespace MMI
177 } // namespace OHOS