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
18 #include "js_quickfix_callback.h"
19
20 using namespace testing;
21 using namespace testing::ext;
22
23 namespace OHOS {
24 namespace AAFwk {
25 class JsQuickfixCallbackTest : public testing::Test {
26 public:
27 static void SetUpTestCase();
28 static void TearDownTestCase();
29 void SetUp() override;
30 void TearDown() override;
31 };
32
SetUpTestCase()33 void JsQuickfixCallbackTest::SetUpTestCase()
34 {}
35
TearDownTestCase()36 void JsQuickfixCallbackTest::TearDownTestCase()
37 {}
38
SetUp()39 void JsQuickfixCallbackTest::SetUp()
40 {}
41
TearDown()42 void JsQuickfixCallbackTest::TearDown()
43 {}
44
45 /**
46 * @tc.name: JsQuickfixCallbackTest_0100
47 * @tc.desc: JsQuickfixCallbackTest Test
48 * @tc.type: FUNC
49 * @tc.require:
50 */
51 HWTEST_F(JsQuickfixCallbackTest, JsQuickfixCallbackTest_0100, TestSize.Level0)
52 {
53 std::string moudel = "<moudelName>";
54 std::string hqfFile = "<hqfFile>";
55 std::map<std::string, std::string> moduleAndPath;
56 moduleAndPath.insert(std::make_pair(moudel, hqfFile));
57 AbilityRuntime::JsQuickfixCallback jsQuickfixCallback(moduleAndPath);
58
59 std::string baseFileName = "<baseFileName>";
60 std::string patchFileName;
61 void* patchBuffer = nullptr;
62 size_t patchSize = 0;
63 bool res = jsQuickfixCallback(baseFileName, patchFileName, &patchBuffer, patchSize);
64 EXPECT_FALSE(res);
65 }
66
67 /**
68 * @tc.name: JsQuickfixCallbackTest_0200
69 * @tc.desc: JsQuickfixCallbackTest Test
70 * @tc.type: FUNC
71 * @tc.require:
72 */
73 HWTEST_F(JsQuickfixCallbackTest, JsQuickfixCallbackTest_0200, TestSize.Level0)
74 {
75 std::string moudel = "<moudelName>";
76 std::string hqfFile = "<hqfFile>";
77 std::map<std::string, std::string> moduleAndPath;
78 moduleAndPath.insert(std::make_pair(moudel, hqfFile));
79 AbilityRuntime::JsQuickfixCallback jsQuickfixCallback(moduleAndPath);
80
81 std::string baseFileName = "baseFileName.abc";
82 std::string patchFileName;
83 void* patchBuffer = nullptr;
84 size_t patchSize = 0;
85 bool res = jsQuickfixCallback(baseFileName, patchFileName, &patchBuffer, patchSize);
86 EXPECT_FALSE(res);
87 }
88
89 /**
90 * @tc.name: JsQuickfixCallbackTest_0300
91 * @tc.desc: JsQuickfixCallbackTest Test
92 * @tc.type: FUNC
93 * @tc.require:
94 */
95 HWTEST_F(JsQuickfixCallbackTest, JsQuickfixCallbackTest_0300, TestSize.Level0)
96 {
97 std::string moudel = "<moudelName>";
98 std::string hqfFile = "<hqfFile>";
99 std::map<std::string, std::string> moduleAndPath;
100 moduleAndPath.insert(std::make_pair(moudel, hqfFile));
101 AbilityRuntime::JsQuickfixCallback jsQuickfixCallback(moduleAndPath);
102
103 std::string baseFileName = "/data/storage/el1/bundle/entry/ets/modules.abc";
104 std::string patchFileName;
105 void* patchBuffer = nullptr;
106 size_t patchSize = 0;
107 bool res = jsQuickfixCallback(baseFileName, patchFileName, &patchBuffer, patchSize);
108 EXPECT_FALSE(res);
109 }
110
111 /**
112 * @tc.name: JsQuickfixCallbackTest_0400
113 * @tc.desc: JsQuickfixCallbackTest Test
114 * @tc.type: FUNC
115 * @tc.require:
116 */
117 HWTEST_F(JsQuickfixCallbackTest, JsQuickfixCallbackTest_0400, TestSize.Level0)
118 {
119 std::string moudel = "bundle";
120 std::string hqfFile = "<hqfFile>";
121 std::map<std::string, std::string> moduleAndPath;
122 moduleAndPath.insert(std::make_pair(moudel, hqfFile));
123 AbilityRuntime::JsQuickfixCallback jsQuickfixCallback(moduleAndPath);
124
125 std::string baseFileName = "/data/storage/el1/bundle/bundle/ets/modules.abc";
126 std::string patchFileName;
127 void* patchBuffer = nullptr;
128 size_t patchSize = 0;
129 bool res = jsQuickfixCallback(baseFileName, patchFileName, &patchBuffer, patchSize);
130 EXPECT_FALSE(res);
131 }
132 } // namespace AAFwk
133 } // namespace OHOS
134
135