From 2b0acaa24332ed0a97c82915e74432c5f63ef2fd Mon Sep 17 00:00:00 2001 From: qinlong0101 Date: Mon, 24 Oct 2022 15:01:53 +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 +++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) 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 -- Gitee