1 /*
2  * Copyright (c) 2024 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include "gtest/gtest.h"
17 
18 #include "interfaces/inner_api/ace/navigation_controller.h"
19 
20 using namespace testing;
21 using namespace testing::ext;
22 
23 namespace OHOS::Ace {
24 namespace {
25 constexpr int32_t VALUE = 0;
26 } // namespace
27 
28 class NavigationControllerTest : public testing::Test {
29 public:
SetUpTestCase()30     static void SetUpTestCase() {}
TearDownTestCase()31     static void TearDownTestCase() {}
SetUp()32     void SetUp() {}
TearDown()33     void TearDown() {}
34 };
35 
36 /**
37  * @tc.name: NavigationController001
38  * @tc.desc: Test IsNavDestinationInTopStack function.
39  * @tc.type: FUNC
40  */
41 HWTEST_F(NavigationControllerTest, NavigationController001, TestSize.Level1)
42 {
43     std::shared_ptr<NavigationController> navigationController = std::make_shared<NavigationController>();
44     ASSERT_NE(navigationController, nullptr);
45     EXPECT_EQ(navigationController->IsNavDestinationInTopStack(), false);
46 }
47 
48 /**
49  * @tc.name: NavigationController002
50  * @tc.desc: Test GetTopHandle function.
51  * @tc.type: FUNC
52  */
53 HWTEST_F(NavigationControllerTest, NavigationController002, TestSize.Level1)
54 {
55     std::shared_ptr<NavigationController> navigationController = std::make_shared<NavigationController>();
56     ASSERT_NE(navigationController, nullptr);
57     EXPECT_EQ(navigationController->GetTopHandle(), VALUE);
58 }
59 
60 /**
61  * @tc.name: NavigationController003
62  * @tc.desc: Test SetInPIPMode function.
63  * @tc.type: FUNC
64  */
65 HWTEST_F(NavigationControllerTest, NavigationController003, TestSize.Level1)
66 {
67     std::shared_ptr<NavigationController> navigationController = std::make_shared<NavigationController>();
68     ASSERT_NE(navigationController, nullptr);
69     int32_t handle = 1;
70     navigationController->SetInPIPMode(handle);
71 }
72 
73 /**
74  * @tc.name: NavigationController004
75  * @tc.desc: Test PopInPIP function.
76  * @tc.type: FUNC
77  */
78 HWTEST_F(NavigationControllerTest, NavigationController004, TestSize.Level1)
79 {
80     std::shared_ptr<NavigationController> navigationController = std::make_shared<NavigationController>();
81     ASSERT_NE(navigationController, nullptr);
82     bool destroy = true;
83     navigationController->PopInPIP(destroy);
84 }
85 
86 /**
87  * @tc.name: NavigationController005
88  * @tc.desc: Test PushInPIP function.
89  * @tc.type: FUNC
90  */
91 HWTEST_F(NavigationControllerTest, NavigationController005, TestSize.Level1)
92 {
93     std::shared_ptr<NavigationController> navigationController = std::make_shared<NavigationController>();
94     ASSERT_NE(navigationController, nullptr);
95     int32_t handle = 1;
96     navigationController->PushInPIP(handle);
97 }
98 
99 /**
100  * @tc.name: NavigationController006
101  * @tc.desc: Test DeletePIPMode function.
102  * @tc.type: FUNC
103  */
104 HWTEST_F(NavigationControllerTest, NavigationController006, TestSize.Level1)
105 {
106     std::shared_ptr<NavigationController> navigationController = std::make_shared<NavigationController>();
107     ASSERT_NE(navigationController, nullptr);
108     int32_t handle = 1;
109     navigationController->DeletePIPMode(handle);
110 }
111 } // namespace OHOS::Ace