From d5fb551a8dd413a9c594a4c5055d1eb6a297aba3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BB=A1=E4=B8=9C=E5=B3=B0?= Date: Mon, 18 Aug 2025 21:33:34 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=9B=9B=E4=B8=AA=E6=8E=A5?= =?UTF-8?q?=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/src/player_unit_test.cpp | 315 ++++++++++++++++++ 1 file changed, 315 insertions(+) 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..8315d4876 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,320 @@ 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