From 37f66e3977f0cbb9fd6279b811cd4f421a1a8eea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BB=A1=E4=B8=9C=E5=B3=B0?= Date: Tue, 19 Aug 2025 09:29:06 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=9B=9B=E4=B8=AA?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E7=9A=84UT=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 满东峰 --- .../test/unittest/include/player_mock.h | 4 + .../player/test/unittest/src/player_mock.cpp | 24 ++ .../test/unittest/src/player_unit_test.cpp | 316 ++++++++++++++++++ 3 files changed, 344 insertions(+) diff --git a/frameworks/native/player/test/unittest/include/player_mock.h b/frameworks/native/player/test/unittest/include/player_mock.h index 2fcaa6bcc..c93f5c473 100644 --- a/frameworks/native/player/test/unittest/include/player_mock.h +++ b/frameworks/native/player/test/unittest/include/player_mock.h @@ -179,6 +179,10 @@ public: int32_t EnableReportMediaProgress(bool enable); void ReleaseClientListener(); int32_t EnableReportAudioInterrupt(bool enable); + int32_t SetReopenFd(int32_t fd); + int32_t EnableCameraPostprocessing(); + int32_t SetCameraPostprocessing(bool isOpen); + int32_t ForceLoadVideo(bool status); private: void SeekPrepare(int32_t &mseconds, PlayerSeekMode &mode); std::shared_ptr player_ = nullptr; diff --git a/frameworks/native/player/test/unittest/src/player_mock.cpp b/frameworks/native/player/test/unittest/src/player_mock.cpp index 7e4706446..6aecc00a3 100644 --- a/frameworks/native/player/test/unittest/src/player_mock.cpp +++ b/frameworks/native/player/test/unittest/src/player_mock.cpp @@ -855,5 +855,29 @@ void PlayerMock::ReleaseClientListener() UNITTEST_CHECK_AND_RETURN_LOG(player_ != nullptr, "player_ == nullptr"); player_->ReleaseClientListener(); } + +int32_t SetReopenFd(int32_t fd) +{ + UNITTEST_CHECK_AND_RETURN_RET_LOG(player_ != nullptr, -1, "player_ == nullptr"); + return player_->SetReopenFd(fd); +} + +int32_t EnableCameraPostprocessing() +{ + UNITTEST_CHECK_AND_RETURN_RET_LOG(player_ != nullptr, -1, "player_ == nullptr"); + return player_->EnableCameraPostprocessing(); +} + +int32_t SetCameraPostprocessing(bool isOpen) +{ + UNITTEST_CHECK_AND_RETURN_RET_LOG(player_ != nullptr, -1, "player_ == nullptr"); + return player_->SetCameraPostprocessing(isOpen); +} + +int32_t ForceLoadVideo(bool status) +{ + UNITTEST_CHECK_AND_RETURN_RET_LOG(player_ != nullptr, -1, "player_ == nullptr"); + return player_->ForceLoadVideo(status); +} } // namespace Media } // namespace OHOS diff --git a/frameworks/native/player/test/unittest/src/player_unit_test.cpp b/frameworks/native/player/test/unittest/src/player_unit_test.cpp index e8a75c839..b3598f42e 100644 --- a/frameworks/native/player/test/unittest/src/player_unit_test.cpp +++ b/frameworks/native/player/test/unittest/src/player_unit_test.cpp @@ -4741,5 +4741,321 @@ HWTEST_F(PlayerUnitTest, Player_EnableReportMediaProgress_004, TestSize.Level0) ASSERT_EQ(MSERR_OK, player_->EnableReportMediaProgress(true)); EXPECT_EQ(MSERR_OK, player_->Play()); } + + +/** + * @tc.name : Test SetReopenFd API + * @tc.number: Player_SetReopenFd_001 + * @tc.desc : Test Player SetReopenFd API before playing + */ +HWTEST_F(PlayerUnitTest, Player_SetReopenFd_001, TestSize.Level0) +{ + int32_t fd = 50; + ASSERT_EQ(MSERR_OK, player_->SetSource(VIDEO_FILE1)); + sptr videoSurface = player_->GetVideoSurface(); + ASSERT_NE(nullptr, videoSurface); + EXPECT_EQ(MSERR_OK, player_->SetVideoSurface(videoSurface)); + EXPECT_EQ(MSERR_OK, player_->Prepare()); + ASSERT_EQ(MSERR_OK, player_->SetReopenFd(fd)); + EXPECT_EQ(MSERR_OK, player_->Play()); +} + +/** + * @tc.name : Test SetReopenFd API + * @tc.number: Player_SetReopenFd_002 + * @tc.desc : Test Player SetReopenFd API during playing + * */ +HWTEST_F(PlayerUnitTest, Player_SetReopenFd_002, TestSize.Level0) +{ + int32_t fd = 50; + ASSERT_EQ(MSERR_OK, player_->SetSource(VIDEO_FILE1)); + sptr videoSurface = player_->GetVideoSurface(); + ASSERT_NE(nullptr, videoSurface); + EXPECT_EQ(MSERR_OK, player_->SetVideoSurface(videoSurface)); + EXPECT_EQ(MSERR_OK, player_->Prepare()); + EXPECT_EQ(MSERR_OK, player_->Play()); + ASSERT_EQ(MSERR_OK, player_->SetReopenFd(fd)); + EXPECT_EQ(MSERR_OK, player_->Pause()); + EXPECT_EQ(MSERR_OK, player_->Play()); +} + +/** + * @tc.name : Test SetReopenFd API + * @tc.number: Player_SetReopenFd_003 + * @tc.desc : Test Player SetReopenFd API when seek in playing + * */ +HWTEST_F(PlayerUnitTest, Player_SetReopenFd_003, TestSize.Level0) +{ + int32_t duration = 0; + int32_t fd = 50; + ASSERT_EQ(MSERR_OK, player_->SetSource(VIDEO_FILE1)); + sptr videoSurface = player_->GetVideoSurface(); + ASSERT_NE(nullptr, videoSurface); + EXPECT_EQ(MSERR_OK, player_->SetVideoSurface(videoSurface)); + EXPECT_EQ(MSERR_OK, player_->Prepare()); + EXPECT_EQ(MSERR_OK, player_->Play()); + EXPECT_EQ(MSERR_OK, player_->GetDuration(duration)); + EXPECT_EQ(MSERR_OK, player_->Pause()); + EXPECT_EQ(MSERR_OK, player_->Seek(duration, SEEK_NEXT_SYNC)); + ASSERT_EQ(MSERR_OK, player_->SetReopenFd(fd)); + EXPECT_EQ(MSERR_OK, player_->Play()); +} + +/** + * @tc.name : Test SetReopenFd API + * @tc.number: Player_SetReopenFd_004 + * @tc.desc : Test Player SetReopenFd API when playing is looping + * */ +HWTEST_F(PlayerUnitTest, Player_SetReopenFd_004, TestSize.Level0) +{ + int32_t fd = 50; + ASSERT_EQ(MSERR_OK, player_->SetSource(VIDEO_FILE1)); + sptr videoSurface = player_->GetVideoSurface(); + ASSERT_NE(nullptr, videoSurface); + EXPECT_EQ(MSERR_OK, player_->SetVideoSurface(videoSurface)); + EXPECT_EQ(MSERR_OK, player_->Prepare()); + EXPECT_EQ(MSERR_OK, player_->SetLooping(true)); + EXPECT_EQ(true, player_->IsLooping()); + ASSERT_EQ(MSERR_OK, player_->SetReopenFd(fd)); + EXPECT_EQ(MSERR_OK, player_->Play()); +} + +/** + * @tc.name : Test SetReopenFd API + * @tc.number: Player_SetReopenFd_005 + * @tc.desc : Test Player SetReopenFd API with an invalid fd + * */ +HWTEST_F(PlayerUnitTest, Player_SetReopenFd_004, TestSize.Level0) +{ + int32_t fd = -1; + ASSERT_EQ(MSERR_OK, player_->SetSource(VIDEO_FILE1)); + sptr videoSurface = player_->GetVideoSurface(); + ASSERT_NE(nullptr, videoSurface); + EXPECT_EQ(MSERR_OK, player_->SetVideoSurface(videoSurface)); + EXPECT_EQ(MSERR_OK, player_->Prepare()); + ASSERT_EQ(MSERR_INVALID_VAL, player_->SetReopenFd(fd)); +} + + +/** + * @tc.name : Test EnableCameraPostprocessing API + * @tc.number: Player_EnableCameraPostprocessing_001 + * @tc.desc : Test Player EnableCameraPostprocessing API before playing + */ +HWTEST_F(PlayerUnitTest, Player_EnableCameraPostprocessing_001, TestSize.Level0) +{ + ASSERT_EQ(MSERR_OK, player_->SetSource(VIDEO_FILE1)); + sptr videoSurface = player_->GetVideoSurface(); + ASSERT_NE(nullptr, videoSurface); + EXPECT_EQ(MSERR_OK, player_->SetVideoSurface(videoSurface)); + EXPECT_EQ(MSERR_OK, player_->Prepare()); + ASSERT_EQ(MSERR_OK, player_->EnableCameraPostprocessing()); + EXPECT_EQ(MSERR_OK, player_->Play()); +} + +/** + * @tc.name : Test EnableCameraPostprocessing API + * @tc.number: Player_EnableCameraPostprocessing_002 + * @tc.desc : Test Player EnableCameraPostprocessing API during playing + * */ +HWTEST_F(PlayerUnitTest, Player_EnableCameraPostprocessing_002, TestSize.Level0) +{ + ASSERT_EQ(MSERR_OK, player_->SetSource(VIDEO_FILE1)); + sptr videoSurface = player_->GetVideoSurface(); + ASSERT_NE(nullptr, videoSurface); + EXPECT_EQ(MSERR_OK, player_->SetVideoSurface(videoSurface)); + EXPECT_EQ(MSERR_OK, player_->Prepare()); + EXPECT_EQ(MSERR_OK, player_->Play()); + ASSERT_EQ(MSERR_OK, player_->EnableCameraPostprocessing()); + EXPECT_EQ(MSERR_OK, player_->Pause()); + EXPECT_EQ(MSERR_OK, player_->Play()); +} + +/** + * @tc.name : Test EnableCameraPostprocessing API + * @tc.number: Player_EnableCameraPostprocessing_003 + * @tc.desc : Test Player EnableCameraPostprocessing API when seek in playing + * */ +HWTEST_F(PlayerUnitTest, Player_EnableCameraPostprocessing_003, TestSize.Level0) +{ + int32_t duration = 0; + ASSERT_EQ(MSERR_OK, player_->SetSource(VIDEO_FILE1)); + sptr videoSurface = player_->GetVideoSurface(); + ASSERT_NE(nullptr, videoSurface); + EXPECT_EQ(MSERR_OK, player_->SetVideoSurface(videoSurface)); + EXPECT_EQ(MSERR_OK, player_->Prepare()); + EXPECT_EQ(MSERR_OK, player_->Play()); + EXPECT_EQ(MSERR_OK, player_->GetDuration(duration)); + EXPECT_EQ(MSERR_OK, player_->Pause()); + EXPECT_EQ(MSERR_OK, player_->Seek(duration, SEEK_NEXT_SYNC)); + ASSERT_EQ(MSERR_OK, player_->EnableCameraPostprocessing()); + EXPECT_EQ(MSERR_OK, player_->Play()); +} + +/** + * @tc.name : Test EnableCameraPostprocessing API + * @tc.number: Player_EnableCameraPostprocessing_004 + * @tc.desc : Test Player EnableCameraPostprocessing API when playing is looping + * */ +HWTEST_F(PlayerUnitTest, Player_EnableCameraPostprocessing_004, TestSize.Level0) +{ + ASSERT_EQ(MSERR_OK, player_->SetSource(VIDEO_FILE1)); + sptr videoSurface = player_->GetVideoSurface(); + ASSERT_NE(nullptr, videoSurface); + EXPECT_EQ(MSERR_OK, player_->SetVideoSurface(videoSurface)); + EXPECT_EQ(MSERR_OK, player_->Prepare()); + EXPECT_EQ(MSERR_OK, player_->SetLooping(true)); + EXPECT_EQ(true, player_->IsLooping()); + ASSERT_EQ(MSERR_OK, player_->EnableCameraPostprocessing()); + EXPECT_EQ(MSERR_OK, player_->Play()); +} + +/** + * @tc.name : Test SetCameraPostprocessing API + * @tc.number: Player_SetCameraPostprocessing_001 + * @tc.desc : Test Player SetCameraPostprocessing API before playing + */ +HWTEST_F(PlayerUnitTest, Player_SetCameraPostprocessing_001, TestSize.Level0) +{ + ASSERT_EQ(MSERR_OK, player_->SetSource(VIDEO_FILE1)); + sptr videoSurface = player_->GetVideoSurface(); + ASSERT_NE(nullptr, videoSurface); + EXPECT_EQ(MSERR_OK, player_->SetVideoSurface(videoSurface)); + EXPECT_EQ(MSERR_OK, player_->Prepare()); + ASSERT_EQ(MSERR_OK, player_->SetCameraPostprocessing(true)); + EXPECT_EQ(MSERR_OK, player_->Play()); +} + +/** + * @tc.name : Test SetCameraPostprocessing API + * @tc.number: Player_SetCameraPostprocessing_002 + * @tc.desc : Test Player SetCameraPostprocessing API during playing + * */ +HWTEST_F(PlayerUnitTest, Player_SetCameraPostprocessing_002, TestSize.Level0) +{ + ASSERT_EQ(MSERR_OK, player_->SetSource(VIDEO_FILE1)); + sptr videoSurface = player_->GetVideoSurface(); + ASSERT_NE(nullptr, videoSurface); + EXPECT_EQ(MSERR_OK, player_->SetVideoSurface(videoSurface)); + EXPECT_EQ(MSERR_OK, player_->Prepare()); + EXPECT_EQ(MSERR_OK, player_->Play()); + ASSERT_EQ(MSERR_OK, player_->SetCameraPostprocessing(true)); + EXPECT_EQ(MSERR_OK, player_->Pause()); + EXPECT_EQ(MSERR_OK, player_->Play()); + ASSERT_EQ(MSERR_OK, player_->SetCameraPostprocessing(false)); +} + +/** + * @tc.name : Test SetCameraPostprocessing API + * @tc.number: Player_SetCameraPostprocessing_003 + * @tc.desc : Test Player SetCameraPostprocessing API when seek in playing + * */ +HWTEST_F(PlayerUnitTest, Player_SetCameraPostprocessing_003, TestSize.Level0) +{ + int32_t duration = 0; + ASSERT_EQ(MSERR_OK, player_->SetSource(VIDEO_FILE1)); + sptr videoSurface = player_->GetVideoSurface(); + ASSERT_NE(nullptr, videoSurface); + EXPECT_EQ(MSERR_OK, player_->SetVideoSurface(videoSurface)); + EXPECT_EQ(MSERR_OK, player_->Prepare()); + EXPECT_EQ(MSERR_OK, player_->Play()); + EXPECT_EQ(MSERR_OK, player_->GetDuration(duration)); + EXPECT_EQ(MSERR_OK, player_->Pause()); + EXPECT_EQ(MSERR_OK, player_->Seek(duration, SEEK_NEXT_SYNC)); + ASSERT_EQ(MSERR_OK, player_->SetCameraPostprocessing(true)); + EXPECT_EQ(MSERR_OK, player_->Play()); +} + +/** + * @tc.name : Test SetCameraPostprocessing API + * @tc.number: Player_SetCameraPostprocessing_004 + * @tc.desc : Test Player SetCameraPostprocessing API when playing is looping + * */ +HWTEST_F(PlayerUnitTest, Player_SetCameraPostprocessing_004, TestSize.Level0) +{ + ASSERT_EQ(MSERR_OK, player_->SetSource(VIDEO_FILE1)); + sptr videoSurface = player_->GetVideoSurface(); + ASSERT_NE(nullptr, videoSurface); + EXPECT_EQ(MSERR_OK, player_->SetVideoSurface(videoSurface)); + EXPECT_EQ(MSERR_OK, player_->Prepare()); + EXPECT_EQ(MSERR_OK, player_->SetLooping(true)); + EXPECT_EQ(true, player_->IsLooping()); + ASSERT_EQ(MSERR_OK, player_->SetCameraPostprocessing(true)); + EXPECT_EQ(MSERR_OK, player_->Play()); +} + +/** + * @tc.name : Test ForceLoadVideo API + * @tc.number: Player_ForceLoadVideo_001 + * @tc.desc : Test Player ForceLoadVideo API before playing + */ +HWTEST_F(PlayerUnitTest, Player_ForceLoadVideo_001, TestSize.Level0) +{ + ASSERT_EQ(MSERR_OK, player_->SetSource(VIDEO_FILE1)); + sptr videoSurface = player_->GetVideoSurface(); + ASSERT_NE(nullptr, videoSurface); + EXPECT_EQ(MSERR_OK, player_->SetVideoSurface(videoSurface)); + EXPECT_EQ(MSERR_OK, player_->Prepare()); + ASSERT_EQ(MSERR_OK, player_->ForceLoadVideo(true)); + EXPECT_EQ(MSERR_OK, player_->Play()); +} + +/** + * @tc.name : Test ForceLoadVideo API + * @tc.number: Player_ForceLoadVideo_002 + * @tc.desc : Test Player ForceLoadVideo API during playing + * */ +HWTEST_F(PlayerUnitTest, Player_ForceLoadVideo_002, TestSize.Level0) +{ + ASSERT_EQ(MSERR_OK, player_->SetSource(VIDEO_FILE1)); + sptr videoSurface = player_->GetVideoSurface(); + ASSERT_NE(nullptr, videoSurface); + EXPECT_EQ(MSERR_OK, player_->SetVideoSurface(videoSurface)); + EXPECT_EQ(MSERR_OK, player_->Prepare()); + EXPECT_EQ(MSERR_OK, player_->Play()); + ASSERT_EQ(MSERR_OK, player_->ForceLoadVideo(true)); + EXPECT_EQ(MSERR_OK, player_->Pause()); + EXPECT_EQ(MSERR_OK, player_->Play()); + ASSERT_EQ(MSERR_OK, player_->ForceLoadVideo(false)); +} + +/** + * @tc.name : Test ForceLoadVideo API + * @tc.number: Player_ForceLoadVideo_003 + * @tc.desc : Test Player ForceLoadVideo API when seek in playing + * */ +HWTEST_F(PlayerUnitTest, Player_ForceLoadVideo_003, TestSize.Level0) +{ + int32_t duration = 0; + ASSERT_EQ(MSERR_OK, player_->SetSource(VIDEO_FILE1)); + sptr videoSurface = player_->GetVideoSurface(); + ASSERT_NE(nullptr, videoSurface); + EXPECT_EQ(MSERR_OK, player_->SetVideoSurface(videoSurface)); + EXPECT_EQ(MSERR_OK, player_->Prepare()); + EXPECT_EQ(MSERR_OK, player_->Play()); + EXPECT_EQ(MSERR_OK, player_->GetDuration(duration)); + EXPECT_EQ(MSERR_OK, player_->Pause()); + EXPECT_EQ(MSERR_OK, player_->Seek(duration, SEEK_NEXT_SYNC)); + ASSERT_EQ(MSERR_OK, player_->ForceLoadVideo(true)); + EXPECT_EQ(MSERR_OK, player_->Play()); +} + +/** + * @tc.name : Test ForceLoadVideo API + * @tc.number: Player_ForceLoadVideo_004 + * @tc.desc : Test Player ForceLoadVideo API when playing is looping + * */ +HWTEST_F(PlayerUnitTest, Player_ForceLoadVideo_004, TestSize.Level0) +{ + ASSERT_EQ(MSERR_OK, player_->SetSource(VIDEO_FILE1)); + sptr videoSurface = player_->GetVideoSurface(); + ASSERT_NE(nullptr, videoSurface); + EXPECT_EQ(MSERR_OK, player_->SetVideoSurface(videoSurface)); + EXPECT_EQ(MSERR_OK, player_->Prepare()); + EXPECT_EQ(MSERR_OK, player_->SetLooping(true)); + EXPECT_EQ(true, player_->IsLooping()); + ASSERT_EQ(MSERR_OK, player_->ForceLoadVideo(true)); + EXPECT_EQ(MSERR_OK, player_->Play()); +} } // namespace Media } // namespace OHOS -- Gitee From cb04b205bd5d6124c25a3ea3d339288c6f470f04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BB=A1=E4=B8=9C=E5=B3=B0?= Date: Tue, 19 Aug 2025 01:32:36 +0000 Subject: [PATCH 2/3] update frameworks/native/player/test/unittest/src/player_unit_test.cpp. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 满东峰 --- frameworks/native/player/test/unittest/src/player_unit_test.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/frameworks/native/player/test/unittest/src/player_unit_test.cpp b/frameworks/native/player/test/unittest/src/player_unit_test.cpp index b3598f42e..8315d4876 100644 --- a/frameworks/native/player/test/unittest/src/player_unit_test.cpp +++ b/frameworks/native/player/test/unittest/src/player_unit_test.cpp @@ -4742,7 +4742,6 @@ HWTEST_F(PlayerUnitTest, Player_EnableReportMediaProgress_004, TestSize.Level0) EXPECT_EQ(MSERR_OK, player_->Play()); } - /** * @tc.name : Test SetReopenFd API * @tc.number: Player_SetReopenFd_001 -- Gitee From 41e96314c9505ba2e77133fe30d0d9e9de2148f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BB=A1=E4=B8=9C=E5=B3=B0?= Date: Tue, 19 Aug 2025 01:54:29 +0000 Subject: [PATCH 3/3] update frameworks/native/player/test/unittest/src/player_unit_test.cpp. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 满东峰 --- frameworks/native/player/test/unittest/src/player_unit_test.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/native/player/test/unittest/src/player_unit_test.cpp b/frameworks/native/player/test/unittest/src/player_unit_test.cpp index 8315d4876..d081adc61 100644 --- a/frameworks/native/player/test/unittest/src/player_unit_test.cpp +++ b/frameworks/native/player/test/unittest/src/player_unit_test.cpp @@ -4824,7 +4824,7 @@ HWTEST_F(PlayerUnitTest, Player_SetReopenFd_004, TestSize.Level0) * @tc.number: Player_SetReopenFd_005 * @tc.desc : Test Player SetReopenFd API with an invalid fd * */ -HWTEST_F(PlayerUnitTest, Player_SetReopenFd_004, TestSize.Level0) +HWTEST_F(PlayerUnitTest, Player_SetReopenFd_005, TestSize.Level0) { int32_t fd = -1; ASSERT_EQ(MSERR_OK, player_->SetSource(VIDEO_FILE1)); -- Gitee