Coverage Report

Created: 2026-06-15 06:23

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
472k
#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
188k
    PatternConverterPrivate( name, style ),
35
188k
    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
94.2k
    PatternConverterPrivate( name, style ),
35
94.2k
    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
94.5k
    PatternConverterPrivate( name, style ),
35
94.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
188k
  LoggingEventPatternConverter(std::make_unique<LiteralPatternConverterPrivate>
47
188k
    (LOG4CXX_STR("Literal"), LOG4CXX_STR("literal"), literal1))
48
188k
{
49
188k
}
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
94.2k
  LoggingEventPatternConverter(std::make_unique<LiteralPatternConverterPrivate>
47
94.2k
    (LOG4CXX_STR("Literal"), LOG4CXX_STR("literal"), literal1))
48
94.2k
{
49
94.2k
}
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
94.5k
  LoggingEventPatternConverter(std::make_unique<LiteralPatternConverterPrivate>
47
94.5k
    (LOG4CXX_STR("Literal"), LOG4CXX_STR("literal"), literal1))
48
94.5k
{
49
94.5k
}
50
51
PatternConverterPtr LiteralPatternConverter::newInstance(
52
  const LogString& literal)
53
190k
{
54
190k
  if (literal.length() == 1 && literal[0] == 0x20 /* ' ' */)
55
1.52k
  {
56
1.52k
    static WideLife<PatternConverterPtr> blank = std::make_shared<LiteralPatternConverter>(literal);
57
1.52k
    return blank;
58
1.52k
  }
59
60
188k
  return std::make_shared<LiteralPatternConverter>(literal);
61
190k
}
log4cxx::pattern::LiteralPatternConverter::newInstance(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Line
Count
Source
53
95.0k
{
54
95.0k
  if (literal.length() == 1 && literal[0] == 0x20 /* ' ' */)
55
856
  {
56
856
    static WideLife<PatternConverterPtr> blank = std::make_shared<LiteralPatternConverter>(literal);
57
856
    return blank;
58
856
  }
59
60
94.2k
  return std::make_shared<LiteralPatternConverter>(literal);
61
95.0k
}
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
95.1k
{
54
95.1k
  if (literal.length() == 1 && literal[0] == 0x20 /* ' ' */)
55
669
  {
56
669
    static WideLife<PatternConverterPtr> blank = std::make_shared<LiteralPatternConverter>(literal);
57
669
    return blank;
58
669
  }
59
60
94.5k
  return std::make_shared<LiteralPatternConverter>(literal);
61
95.1k
}
62
63
void LiteralPatternConverter::format( LOG4CXX_FORMAT_EVENT_FORMAL_PARAMETERS ) const
64
448k
{
65
448k
  toAppendTo.append(priv->literal);
66
448k
}
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
64
183k
{
65
183k
  toAppendTo.append(priv->literal);
66
183k
}
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
64
264k
{
65
264k
  toAppendTo.append(priv->literal);
66
264k
}
67
68
void LiteralPatternConverter::format( LOG4CXX_FORMAT_OBJECT_FORMAL_PARAMETERS )  const
69
24.7k
{
70
24.7k
  toAppendTo.append(priv->literal);
71
24.7k
}
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
69
8.29k
{
70
8.29k
  toAppendTo.append(priv->literal);
71
8.29k
}
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
69
16.4k
{
70
16.4k
  toAppendTo.append(priv->literal);
71
16.4k
}
72