1 /* 2 * Copyright (c) 2023 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 #include "ace_forward_compatibility.h" 18 19 using namespace testing; 20 using namespace testing::ext; 21 22 namespace OHOS::Ace { 23 class AceForwardCompatibilityTest : public testing::Test {}; 24 25 /** 26 * @tc.name: TestWithInit 27 * @tc.desc: test without init 28 * @tc.type: FUNC 29 */ 30 HWTEST_F(AceForwardCompatibilityTest, TestWithInit, TestSize.Level1) 31 { 32 constexpr char ARKUI_LIB_NAME_COMPATIBLE[] = "libace_compatible.z.so"; 33 AceForwardCompatibility::Init("do not care", 10, false); 34 EXPECT_TRUE(AceForwardCompatibility::IsForceOldPipeline()); 35 EXPECT_TRUE(AceForwardCompatibility::PipelineChanged()); 36 EXPECT_STREQ(AceForwardCompatibility::GetAceLibName(), ARKUI_LIB_NAME_COMPATIBLE); 37 } 38 39 /** 40 * @tc.name: TestIsForceOldPipeline001 41 * @tc.desc: test without TestIsForceOldPipeline 42 * @tc.type: FUNC 43 */ 44 HWTEST_F(AceForwardCompatibilityTest, TestIsForceOldPipeline001, TestSize.Level1) 45 { 46 AceForwardCompatibility::Init("TestIsForceOldPipeline", 9, false); 47 EXPECT_TRUE(AceForwardCompatibility::IsForceOldPipeline()); 48 } 49 50 /** 51 * @tc.name: TestIsForceOldPipeline002 52 * @tc.desc: test without TestIsForceOldPipeline 53 * @tc.type: FUNC 54 */ 55 HWTEST_F(AceForwardCompatibilityTest, TestIsForceOldPipeline002, TestSize.Level1) 56 { 57 AceForwardCompatibility::Init("TestIsForceOldPipeline", 9, true); 58 EXPECT_TRUE(AceForwardCompatibility::IsForceOldPipeline()); 59 } 60 61 /** 62 * @tc.name: TestIsNewPipeline001 63 * @tc.desc: test TestIsNewPipeline 64 * @tc.type: FUNC 65 */ 66 HWTEST_F(AceForwardCompatibilityTest, TestIsNewPipeline001, TestSize.Level1) 67 { 68 AceForwardCompatibility::Init("TestIsNewPipeline", 10, false); 69 EXPECT_FALSE(AceForwardCompatibility::IsNewPipeline()); 70 } 71 72 /** 73 * @tc.name: TestIsNewPipeline002 74 * @tc.desc: test TestIsNewPipeline 75 * @tc.type: FUNC 76 */ 77 HWTEST_F(AceForwardCompatibilityTest, TestIsNewPipeline002, TestSize.Level1) 78 { 79 AceForwardCompatibility::Init("TestIsForceOldPipeline", 9, true); 80 EXPECT_FALSE(AceForwardCompatibility::IsNewPipeline()); 81 } 82 83 /** 84 * @tc.name: TestIsUseNG001 85 * @tc.desc: isNewPipeline_ is true 86 * @tc.type: FUNC 87 */ 88 HWTEST_F(AceForwardCompatibilityTest, TestIsUseNG001, TestSize.Level1) 89 { 90 AceForwardCompatibility::Init("TestIsUseNG", 10, false); 91 EXPECT_TRUE(AceForwardCompatibility::IsUseNG()); 92 } 93 94 /** 95 * @tc.name: TestIsUseNG002 96 * @tc.desc: isNewPipeline_ is false 97 * @tc.type: FUNC 98 */ 99 HWTEST_F(AceForwardCompatibilityTest, TestIsUseNG002, TestSize.Level1) 100 { 101 AceForwardCompatibility::Init("TestIsForceOldPipeline", 10, true); 102 EXPECT_FALSE(AceForwardCompatibility::IsUseNG()); 103 } 104 105 /** 106 * @tc.name: TestPipelineChanged001 107 * @tc.desc: isNewPipeline_ and isNewAppspawn_ is true 108 * @tc.type: FUNC 109 */ 110 HWTEST_F(AceForwardCompatibilityTest, TestPipelineChanged001, TestSize.Level1) 111 { 112 AceForwardCompatibility::Init("TestPipelineChanged", 9, false); 113 EXPECT_TRUE(AceForwardCompatibility::PipelineChanged()); 114 } 115 116 /** 117 * @tc.name: TestGetAceLibName001 118 * @tc.desc: test ARKUI_LIB_NAME_COMPATIBLE 119 * @tc.type: FUNC 120 */ 121 HWTEST_F(AceForwardCompatibilityTest, TestGetAceLibName001, TestSize.Level1) 122 { 123 AceForwardCompatibility::Init("TestGetAceLibName", 9, false); 124 constexpr char aceLibName[] = "libace_compatible.z.so"; 125 EXPECT_STREQ(AceForwardCompatibility::GetAceLibName(), aceLibName); 126 } 127 } // namespace OHOS::ACE 128