From cfd9d6b2e6711c4b74261aa3409a1b9494c3d53c Mon Sep 17 00:00:00 2001 From: qinlong0101 Date: Wed, 26 Oct 2022 09:44:45 +0800 Subject: [PATCH] =?UTF-8?q?UT=E8=A6=86=E7=9B=96=E7=8E=87=E6=8F=90=E5=8D=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: qinlong0101 --- .../test/unittest/screensinktest/BUILD.gn | 5 +++- .../src/dscreen_sink_handler_test.cpp | 26 +++++++++++++++++++ .../src/dscreen_source_handler_test.cpp | 2 +- 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/interfaces/innerkits/native_cpp/test/unittest/screensinktest/BUILD.gn b/interfaces/innerkits/native_cpp/test/unittest/screensinktest/BUILD.gn index ae81ebc8..33e0c875 100644 --- a/interfaces/innerkits/native_cpp/test/unittest/screensinktest/BUILD.gn +++ b/interfaces/innerkits/native_cpp/test/unittest/screensinktest/BUILD.gn @@ -53,7 +53,10 @@ ohos_unittest("ScreenSinkTest") { "//third_party/googletest:gtest_main", ] - external_deps = [ "c_utils:utils" ] + external_deps = [ + "c_utils:utils", + "samgr:samgr_proxy", + ] } group("screen_sink_test") { diff --git a/interfaces/innerkits/native_cpp/test/unittest/screensinktest/src/dscreen_sink_handler_test.cpp b/interfaces/innerkits/native_cpp/test/unittest/screensinktest/src/dscreen_sink_handler_test.cpp index 7fa8be87..f6d92756 100644 --- a/interfaces/innerkits/native_cpp/test/unittest/screensinktest/src/dscreen_sink_handler_test.cpp +++ b/interfaces/innerkits/native_cpp/test/unittest/screensinktest/src/dscreen_sink_handler_test.cpp @@ -35,6 +35,7 @@ void DScreenSinkHandlerTest::TearDown(void) { DScreenSinkHandler::GetInstance().ReleaseSink(); } + /** * @tc.name: LocalHardware_001 * @tc.desc: Verify the SubscribeLocalHardware function. @@ -47,8 +48,33 @@ HWTEST_F(DScreenSinkHandlerTest, LocalHardware_001, TestSize.Level1) const std::string param = "DScreenSinkHandlerTest"; int32_t ret = DScreenSinkHandler::GetInstance().SubscribeLocalHardware(dhId, param); EXPECT_EQ(DH_SUCCESS, ret); + ret = DScreenSinkHandler::GetInstance().UnsubscribeLocalHardware(dhId); EXPECT_EQ(DH_SUCCESS, ret); + + DScreenSinkHandler::GetInstance().dScreenSinkProxy_ = nullptr; + ret = DScreenSinkHandler::GetInstance().UnsubscribeLocalHardware(dhId); + EXPECT_EQ(ERR_DH_SCREEN_SA_SINKPROXY_NOT_INIT, ret); +} + +/** + * @tc.name: OnRemoteSinkSvrDied_001 + * @tc.desc: Verify the OnRemoteSinkSvrDied function. + * @tc.type: FUNC + * @tc.require: Issue Number + */ +HWTEST_F(DScreenSinkHandlerTest, OnRemoteSinkSvrDied_001, TestSize.Level1) +{ + sptr samgr = + SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager(); + + sptr remoteObject = + samgr->GetSystemAbility(DISTRIBUTED_HARDWARE_SCREEN_SINK_SA_ID); + + wptr remote(remoteObject); + + DScreenSinkHandler::GetInstance().sinkSvrRecipient_->OnRemoteDied(remote); + EXPECT_EQ(nullptr, DScreenSinkHandler::GetInstance().dScreenSinkProxy_); } } } \ No newline at end of file diff --git a/interfaces/innerkits/native_cpp/test/unittest/screensourcetest/src/dscreen_source_handler_test.cpp b/interfaces/innerkits/native_cpp/test/unittest/screensourcetest/src/dscreen_source_handler_test.cpp index 86903c93..4eb35904 100644 --- a/interfaces/innerkits/native_cpp/test/unittest/screensourcetest/src/dscreen_source_handler_test.cpp +++ b/interfaces/innerkits/native_cpp/test/unittest/screensourcetest/src/dscreen_source_handler_test.cpp @@ -70,7 +70,7 @@ HWTEST_F(DScreenSourceHandlerTest, UnregisterDistributedHardware_001, TestSize.L const std::string dhId = "dhId"; std::shared_ptr callback = std::make_shared(); if (DScreenSourceHandler::GetInstance().dScreenSourceCallback_ == nullptr) { - DScreenSourceHandler::GetInstance().dScreenSourceCallback_ = new (std::nothrow) DScreenSourceCallback();; + DScreenSourceHandler::GetInstance().dScreenSourceCallback_ = new (std::nothrow) DScreenSourceCallback(); } int32_t ret = DScreenSourceHandler::GetInstance().UnregisterDistributedHardware(devId, dhId, callback); EXPECT_EQ(ERR_DH_SCREEN_SA_DISABLE_FAILED, ret); -- Gitee