123b3eb3cSopenharmony_ci/* 223b3eb3cSopenharmony_ci * Copyright (c) 2024 Huawei Device Co., Ltd. 323b3eb3cSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 423b3eb3cSopenharmony_ci * you may not use this file except in compliance with the License. 523b3eb3cSopenharmony_ci * You may obtain a copy of the License at 623b3eb3cSopenharmony_ci * 723b3eb3cSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 823b3eb3cSopenharmony_ci * 923b3eb3cSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1023b3eb3cSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1123b3eb3cSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1223b3eb3cSopenharmony_ci * See the License for the specific language governing permissions and 1323b3eb3cSopenharmony_ci * limitations under the License. 1423b3eb3cSopenharmony_ci */ 1523b3eb3cSopenharmony_ci 1623b3eb3cSopenharmony_ci#include "gtest/gtest.h" 1723b3eb3cSopenharmony_ci 1823b3eb3cSopenharmony_ci#include "interfaces/inner_api/ace/navigation_controller.h" 1923b3eb3cSopenharmony_ci 2023b3eb3cSopenharmony_ciusing namespace testing; 2123b3eb3cSopenharmony_ciusing namespace testing::ext; 2223b3eb3cSopenharmony_ci 2323b3eb3cSopenharmony_cinamespace OHOS::Ace { 2423b3eb3cSopenharmony_cinamespace { 2523b3eb3cSopenharmony_ciconstexpr int32_t VALUE = 0; 2623b3eb3cSopenharmony_ci} // namespace 2723b3eb3cSopenharmony_ci 2823b3eb3cSopenharmony_ciclass NavigationControllerTest : public testing::Test { 2923b3eb3cSopenharmony_cipublic: 3023b3eb3cSopenharmony_ci static void SetUpTestCase() {} 3123b3eb3cSopenharmony_ci static void TearDownTestCase() {} 3223b3eb3cSopenharmony_ci void SetUp() {} 3323b3eb3cSopenharmony_ci void TearDown() {} 3423b3eb3cSopenharmony_ci}; 3523b3eb3cSopenharmony_ci 3623b3eb3cSopenharmony_ci/** 3723b3eb3cSopenharmony_ci * @tc.name: NavigationController001 3823b3eb3cSopenharmony_ci * @tc.desc: Test IsNavDestinationInTopStack function. 3923b3eb3cSopenharmony_ci * @tc.type: FUNC 4023b3eb3cSopenharmony_ci */ 4123b3eb3cSopenharmony_ciHWTEST_F(NavigationControllerTest, NavigationController001, TestSize.Level1) 4223b3eb3cSopenharmony_ci{ 4323b3eb3cSopenharmony_ci std::shared_ptr<NavigationController> navigationController = std::make_shared<NavigationController>(); 4423b3eb3cSopenharmony_ci ASSERT_NE(navigationController, nullptr); 4523b3eb3cSopenharmony_ci EXPECT_EQ(navigationController->IsNavDestinationInTopStack(), false); 4623b3eb3cSopenharmony_ci} 4723b3eb3cSopenharmony_ci 4823b3eb3cSopenharmony_ci/** 4923b3eb3cSopenharmony_ci * @tc.name: NavigationController002 5023b3eb3cSopenharmony_ci * @tc.desc: Test GetTopHandle function. 5123b3eb3cSopenharmony_ci * @tc.type: FUNC 5223b3eb3cSopenharmony_ci */ 5323b3eb3cSopenharmony_ciHWTEST_F(NavigationControllerTest, NavigationController002, TestSize.Level1) 5423b3eb3cSopenharmony_ci{ 5523b3eb3cSopenharmony_ci std::shared_ptr<NavigationController> navigationController = std::make_shared<NavigationController>(); 5623b3eb3cSopenharmony_ci ASSERT_NE(navigationController, nullptr); 5723b3eb3cSopenharmony_ci EXPECT_EQ(navigationController->GetTopHandle(), VALUE); 5823b3eb3cSopenharmony_ci} 5923b3eb3cSopenharmony_ci 6023b3eb3cSopenharmony_ci/** 6123b3eb3cSopenharmony_ci * @tc.name: NavigationController003 6223b3eb3cSopenharmony_ci * @tc.desc: Test SetInPIPMode function. 6323b3eb3cSopenharmony_ci * @tc.type: FUNC 6423b3eb3cSopenharmony_ci */ 6523b3eb3cSopenharmony_ciHWTEST_F(NavigationControllerTest, NavigationController003, TestSize.Level1) 6623b3eb3cSopenharmony_ci{ 6723b3eb3cSopenharmony_ci std::shared_ptr<NavigationController> navigationController = std::make_shared<NavigationController>(); 6823b3eb3cSopenharmony_ci ASSERT_NE(navigationController, nullptr); 6923b3eb3cSopenharmony_ci int32_t handle = 1; 7023b3eb3cSopenharmony_ci navigationController->SetInPIPMode(handle); 7123b3eb3cSopenharmony_ci} 7223b3eb3cSopenharmony_ci 7323b3eb3cSopenharmony_ci/** 7423b3eb3cSopenharmony_ci * @tc.name: NavigationController004 7523b3eb3cSopenharmony_ci * @tc.desc: Test PopInPIP function. 7623b3eb3cSopenharmony_ci * @tc.type: FUNC 7723b3eb3cSopenharmony_ci */ 7823b3eb3cSopenharmony_ciHWTEST_F(NavigationControllerTest, NavigationController004, TestSize.Level1) 7923b3eb3cSopenharmony_ci{ 8023b3eb3cSopenharmony_ci std::shared_ptr<NavigationController> navigationController = std::make_shared<NavigationController>(); 8123b3eb3cSopenharmony_ci ASSERT_NE(navigationController, nullptr); 8223b3eb3cSopenharmony_ci bool destroy = true; 8323b3eb3cSopenharmony_ci navigationController->PopInPIP(destroy); 8423b3eb3cSopenharmony_ci} 8523b3eb3cSopenharmony_ci 8623b3eb3cSopenharmony_ci/** 8723b3eb3cSopenharmony_ci * @tc.name: NavigationController005 8823b3eb3cSopenharmony_ci * @tc.desc: Test PushInPIP function. 8923b3eb3cSopenharmony_ci * @tc.type: FUNC 9023b3eb3cSopenharmony_ci */ 9123b3eb3cSopenharmony_ciHWTEST_F(NavigationControllerTest, NavigationController005, TestSize.Level1) 9223b3eb3cSopenharmony_ci{ 9323b3eb3cSopenharmony_ci std::shared_ptr<NavigationController> navigationController = std::make_shared<NavigationController>(); 9423b3eb3cSopenharmony_ci ASSERT_NE(navigationController, nullptr); 9523b3eb3cSopenharmony_ci int32_t handle = 1; 9623b3eb3cSopenharmony_ci navigationController->PushInPIP(handle); 9723b3eb3cSopenharmony_ci} 9823b3eb3cSopenharmony_ci 9923b3eb3cSopenharmony_ci/** 10023b3eb3cSopenharmony_ci * @tc.name: NavigationController006 10123b3eb3cSopenharmony_ci * @tc.desc: Test DeletePIPMode function. 10223b3eb3cSopenharmony_ci * @tc.type: FUNC 10323b3eb3cSopenharmony_ci */ 10423b3eb3cSopenharmony_ciHWTEST_F(NavigationControllerTest, NavigationController006, TestSize.Level1) 10523b3eb3cSopenharmony_ci{ 10623b3eb3cSopenharmony_ci std::shared_ptr<NavigationController> navigationController = std::make_shared<NavigationController>(); 10723b3eb3cSopenharmony_ci ASSERT_NE(navigationController, nullptr); 10823b3eb3cSopenharmony_ci int32_t handle = 1; 10923b3eb3cSopenharmony_ci navigationController->DeletePIPMode(handle); 11023b3eb3cSopenharmony_ci} 11123b3eb3cSopenharmony_ci} // namespace OHOS::Ace