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