diff --git a/frameworks/native/player/test/unittest/include/player_mock.h b/frameworks/native/player/test/unittest/include/player_mock.h index 2fcaa6bccea165ee60f9bf125e46be13802b18aa..c93f5c47389c2c397f131685a000e17a95a93fb8 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 7e4706446160980c402d6891079b979935e69c31..6aecc00a3c3f0a1ea4822cd4ca50aadbb6831aec 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 e8a75c839c16c38fac3a2a23a43abfd621849c04..d081adc61ee0e5a10796247d1c417d76502ff798 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_005, 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