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 #include "texgine/utils/exlog.h"
18 #include "texgine/utils/logger.h"
19 
20 using namespace testing;
21 using namespace testing::ext;
22 
23 namespace OHOS {
24 namespace Rosen {
25 namespace TextEngine {
26 class OHTexgineTxtTest : public testing::Test {};
27 
28 /*
29  * @tc.name: OHTexgineTxtTest001
30  * @tc.desc: test for log
31  * @tc.type: FUNC
32  */
33 HWTEST_F(OHTexgineTxtTest, OHTexgineTxtTest001, TestSize.Level1)
34 {
35     // 1 is used for test
36     Logger logger1("123", "func1", 1, Logger::LOG_LEVEL::WARN, nullptr);
37     // 2 is used for test
38     Logger logger2("123", "func2", 2, Logger::LOG_LEVEL::FATAL, nullptr);
39     Logger logger3(logger1);
40     Logger logger4(std::move(logger3));
41     Logger::SetToNoReturn(logger1, Logger::LOG_PHASE::BEGIN);
42     Logger::SetToContinue(logger2, Logger::LOG_PHASE::BEGIN);
43     Logger::OutputByStderr(logger4, Logger::LOG_PHASE::BEGIN);
44     Logger::OutputByStderr(logger1, Logger::LOG_PHASE::END);
45     Logger::OutputByStderr(logger2, Logger::LOG_PHASE::END);
46     Logger::OutputByFileLog(logger1, Logger::LOG_PHASE::BEGIN);
47     Logger::OutputByFileLog(logger1, Logger::LOG_PHASE::END);
48     Logger::AppendFunc(logger1, Logger::LOG_PHASE::BEGIN);
49     Logger::AppendFileLine(logger1, Logger::LOG_PHASE::BEGIN);
50     Logger::AppendFileFuncLine(logger1, Logger::LOG_PHASE::BEGIN);
51     Logger::AppendPidTid(logger1, Logger::LOG_PHASE::BEGIN);
52     // 1 is used for test
53     Logger::SetScopeParam(1, 1);
54     Logger::EnterScope();
55     Logger::ExitScope();
56     std::string str = logger1.GetFile();
57     EXPECT_EQ(str, "123");
58     va_list valist = logger1.GetVariousArgument();
59     valist = logger2.GetVariousArgument();
60     // 1 is used for test
61     logger1.Align(1);
62     logger2.Align(1);
63     NoLogger noLogger;
64     ScopedLogger scopedLogger1(std::move(noLogger));
65     // "123" is used for test
66     ScopedLogger scopedLogger2(std::move(noLogger), "123");
67     ScopedLogger scopedLogger3(std::move(logger3));
68     // "123" is used for test
69     ScopedLogger scopedLogger4(std::move(logger3), "123");
70     scopedLogger1.Finish();
71     scopedLogger2.Finish();
72     scopedLogger3.Finish();
73     scopedLogger4.Finish();
74     ExTime(logger1, Logger::LOG_PHASE::BEGIN);
75     ExTime(logger1, Logger::LOG_PHASE::END);
76 }
77 } // namespace TextEngine
78 } // namespace Rosen
79 } // namespace OHOS
80