Coverage Report

Created: 2025-10-27 06:48

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/logging-log4cxx/src/main/cpp/literalpatternconverter.cpp
Line
Count
Source
1
/*
2
 * Licensed to the Apache Software Foundation (ASF) under one or more
3
 * contributor license agreements.  See the NOTICE file distributed with
4
 * this work for additional information regarding copyright ownership.
5
 * The ASF licenses this file to You under the Apache License, Version 2.0
6
 * (the "License"); you may not use this file except in compliance with
7
 * the License.  You may obtain a copy of the License at
8
 *
9
 *      http://www.apache.org/licenses/LICENSE-2.0
10
 *
11
 * Unless required by applicable law or agreed to in writing, software
12
 * distributed under the License is distributed on an "AS IS" BASIS,
13
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
 * See the License for the specific language governing permissions and
15
 * limitations under the License.
16
 */
17
18
#include <log4cxx/logstring.h>
19
#include <log4cxx/pattern/literalpatternconverter.h>
20
#include <log4cxx/spi/loggingevent.h>
21
#include <log4cxx/spi/location/locationinfo.h>
22
#include <log4cxx/private/patternconverter_priv.h>
23
24
using namespace LOG4CXX_NS;
25
using namespace LOG4CXX_NS::pattern;
26
using namespace LOG4CXX_NS::spi;
27
using namespace LOG4CXX_NS::helpers;
28
29
836k
#define priv static_cast<LiteralPatternConverterPrivate*>(m_priv.get())
30
31
struct LiteralPatternConverter::LiteralPatternConverterPrivate : public PatternConverterPrivate
32
{
33
  LiteralPatternConverterPrivate( const LogString& name, const LogString& style, const LogString& literal1 ) :
34
160k
    PatternConverterPrivate( name, style ),
35
160k
    literal(literal1) {}
log4cxx::pattern::LiteralPatternConverter::LiteralPatternConverterPrivate::LiteralPatternConverterPrivate(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Line
Count
Source
34
82.7k
    PatternConverterPrivate( name, style ),
35
82.7k
    literal(literal1) {}
log4cxx::pattern::LiteralPatternConverter::LiteralPatternConverterPrivate::LiteralPatternConverterPrivate(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > const&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > const&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > const&)
Line
Count
Source
34
77.5k
    PatternConverterPrivate( name, style ),
35
77.5k
    literal(literal1) {}
36
37
  /**
38
   * String literal.
39
   */
40
  const LogString literal;
41
};
42
43
IMPLEMENT_LOG4CXX_OBJECT(LiteralPatternConverter)
44
45
LiteralPatternConverter::LiteralPatternConverter(const LogString& literal1) :
46
160k
  LoggingEventPatternConverter(std::make_unique<LiteralPatternConverterPrivate>
47
160k
    (LOG4CXX_STR("Literal"), LOG4CXX_STR("literal"), literal1))
48
160k
{
49
160k
}
Unexecuted instantiation: log4cxx::pattern::LiteralPatternConverter::LiteralPatternConverter(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
log4cxx::pattern::LiteralPatternConverter::LiteralPatternConverter(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Line
Count
Source
46
82.7k
  LoggingEventPatternConverter(std::make_unique<LiteralPatternConverterPrivate>
47
82.7k
    (LOG4CXX_STR("Literal"), LOG4CXX_STR("literal"), literal1))
48
82.7k
{
49
82.7k
}
Unexecuted instantiation: log4cxx::pattern::LiteralPatternConverter::LiteralPatternConverter(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > const&)
log4cxx::pattern::LiteralPatternConverter::LiteralPatternConverter(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > const&)
Line
Count
Source
46
77.5k
  LoggingEventPatternConverter(std::make_unique<LiteralPatternConverterPrivate>
47
77.5k
    (LOG4CXX_STR("Literal"), LOG4CXX_STR("literal"), literal1))
48
77.5k
{
49
77.5k
}
50
51
PatternConverterPtr LiteralPatternConverter::newInstance(
52
  const LogString& literal)
53
161k
{
54
161k
  if (literal.length() == 1 && literal[0] == 0x20 /* ' ' */)
55
1.32k
  {
56
1.32k
    static WideLife<PatternConverterPtr> blank = std::make_shared<LiteralPatternConverter>(literal);
57
1.32k
    return blank;
58
1.32k
  }
59
60
160k
  return std::make_shared<LiteralPatternConverter>(literal);
61
161k
}
log4cxx::pattern::LiteralPatternConverter::newInstance(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Line
Count
Source
53
83.6k
{
54
83.6k
  if (literal.length() == 1 && literal[0] == 0x20 /* ' ' */)
55
885
  {
56
885
    static WideLife<PatternConverterPtr> blank = std::make_shared<LiteralPatternConverter>(literal);
57
885
    return blank;
58
885
  }
59
60
82.7k
  return std::make_shared<LiteralPatternConverter>(literal);
61
83.6k
}
log4cxx::pattern::LiteralPatternConverter::newInstance(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > const&)
Line
Count
Source
53
77.9k
{
54
77.9k
  if (literal.length() == 1 && literal[0] == 0x20 /* ' ' */)
55
438
  {
56
438
    static WideLife<PatternConverterPtr> blank = std::make_shared<LiteralPatternConverter>(literal);
57
438
    return blank;
58
438
  }
59
60
77.5k
  return std::make_shared<LiteralPatternConverter>(literal);
61
77.9k
}
62
63
void LiteralPatternConverter::format(
64
  const LoggingEventPtr& /* event */,
65
  LogString& toAppendTo,
66
  Pool& /* p */) const
67
809k
{
68
809k
  toAppendTo.append(priv->literal);
69
809k
}
log4cxx::pattern::LiteralPatternConverter::format(std::__1::shared_ptr<log4cxx::spi::LoggingEvent> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, log4cxx::helpers::Pool&) const
Line
Count
Source
67
180k
{
68
180k
  toAppendTo.append(priv->literal);
69
180k
}
log4cxx::pattern::LiteralPatternConverter::format(std::__1::shared_ptr<log4cxx::spi::LoggingEvent> const&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&, log4cxx::helpers::Pool&) const
Line
Count
Source
67
628k
{
68
628k
  toAppendTo.append(priv->literal);
69
628k
}
70
71
void LiteralPatternConverter::format(
72
  const ObjectPtr& /* event */,
73
  LogString& toAppendTo,
74
  Pool& /* p */)  const
75
27.0k
{
76
27.0k
  toAppendTo.append(priv->literal);
77
27.0k
}
log4cxx::pattern::LiteralPatternConverter::format(std::__1::shared_ptr<log4cxx::helpers::Object> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, log4cxx::helpers::Pool&) const
Line
Count
Source
75
6.87k
{
76
6.87k
  toAppendTo.append(priv->literal);
77
6.87k
}
log4cxx::pattern::LiteralPatternConverter::format(std::__1::shared_ptr<log4cxx::helpers::Object> const&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&, log4cxx::helpers::Pool&) const
Line
Count
Source
75
20.1k
{
76
20.1k
  toAppendTo.append(priv->literal);
77
20.1k
}
78