Repository: logging-log4cxx Updated Branches: refs/heads/logcxx_369 [created] 818be2527
LOGCXX-369: Make code a bit more readable before using it as base for decodingtest. Project: http://git-wip-us.apache.org/repos/asf/logging-log4cxx/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4cxx/commit/eef00c52 Tree: http://git-wip-us.apache.org/repos/asf/logging-log4cxx/tree/eef00c52 Diff: http://git-wip-us.apache.org/repos/asf/logging-log4cxx/diff/eef00c52 Branch: refs/heads/logcxx_369 Commit: eef00c5232c0285dec72a78b53e1bc33560549f1 Parents: a85b85f Author: Thorsten Schöning <[email protected]> Authored: Wed Mar 21 10:27:05 2018 +0100 Committer: Thorsten Schöning <[email protected]> Committed: Wed Mar 21 10:27:05 2018 +0100 ---------------------------------------------------------------------- src/test/cpp/encodingtest.cpp | 70 ++++++++++++++++++++++++++------------ 1 file changed, 49 insertions(+), 21 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4cxx/blob/eef00c52/src/test/cpp/encodingtest.cpp ---------------------------------------------------------------------- diff --git a/src/test/cpp/encodingtest.cpp b/src/test/cpp/encodingtest.cpp index ce0ab54..8faf033 100644 --- a/src/test/cpp/encodingtest.cpp +++ b/src/test/cpp/encodingtest.cpp @@ -39,8 +39,8 @@ using namespace log4cxx::helpers; /** * Tests support for encoding specification. - * - * + * + * */ LOGUNIT_CLASS(EncodingTest) { LOGUNIT_TEST_SUITE(EncodingTest); @@ -65,9 +65,12 @@ public: */ void testASCII() { LoggerPtr root(Logger::getRootLogger()); - configure(root, LOG4CXX_STR("output/ascii.log"), LOG4CXX_STR("US-ASCII")); + + configure(root, LOG4CXX_STR("output/encoding/ascii.log"), + LOG4CXX_STR("US-ASCII")); common(root); - BinaryCompare::compare("output/ascii.log", "witness/encoding/ascii.log"); + + BinaryCompare::compare("output/encoding/ascii.log", "witness/encoding/ascii.log"); } /** @@ -75,9 +78,13 @@ public: */ void testLatin1() { LoggerPtr root(Logger::getRootLogger()); - configure(root, LOG4CXX_STR("output/latin1.log"), LOG4CXX_STR("iso-8859-1")); + + configure(root, LOG4CXX_STR("output/encoding/latin1.log"), + LOG4CXX_STR("iso-8859-1")); common(root); - BinaryCompare::compare("output/latin1.log", "witness/encoding/latin1.log"); + + BinaryCompare::compare( "output/encoding/latin1.log", + "witness/encoding/latin1.log"); } /** @@ -85,9 +92,13 @@ public: */ void testUtf8() { LoggerPtr root(Logger::getRootLogger()); - configure(root, LOG4CXX_STR("output/UTF-8.log"), LOG4CXX_STR("UTF-8")); + + configure(root, LOG4CXX_STR("output/encoding/UTF-8.log"), + LOG4CXX_STR("UTF-8")); common(root); - BinaryCompare::compare("output/UTF-8.log", "witness/encoding/UTF-8.log"); + + BinaryCompare::compare( "output/encoding/UTF-8.log", + "witness/encoding/UTF-8.log"); } /** @@ -95,9 +106,13 @@ public: */ void testUtf16() { LoggerPtr root(Logger::getRootLogger()); - configure(root, LOG4CXX_STR("output/UTF-16.log"), LOG4CXX_STR("UTF-16")); + + configure(root, LOG4CXX_STR("output/encoding/UTF-16.log"), + LOG4CXX_STR("UTF-16")); common(root); - BinaryCompare::compare("output/UTF-16.log", "witness/encoding/UTF-16.log"); + + BinaryCompare::compare( "output/encoding/UTF-16.log", + "witness/encoding/UTF-16.log"); } /** @@ -105,9 +120,13 @@ public: */ void testUtf16BE() { LoggerPtr root(Logger::getRootLogger()); - configure(root, LOG4CXX_STR("output/UTF-16BE.log"), LOG4CXX_STR("UTF-16BE")); + + configure(root, LOG4CXX_STR("output/encoding/UTF-16BE.log"), + LOG4CXX_STR("UTF-16BE")); common(root); - BinaryCompare::compare("output/UTF-16BE.log", "witness/encoding/UTF-16BE.log"); + + BinaryCompare::compare( "output/encoding/UTF-16BE.log", + "witness/encoding/UTF-16BE.log"); } /** @@ -115,9 +134,13 @@ public: */ void testUtf16LE() { LoggerPtr root(Logger::getRootLogger()); - configure(root, LOG4CXX_STR("output/UTF-16LE.log"), LOG4CXX_STR("UTF-16LE")); + + configure(root, LOG4CXX_STR("output/encoding/UTF-16LE.log"), + LOG4CXX_STR("UTF-16LE")); common(root); - BinaryCompare::compare("output/UTF-16LE.log", "witness/encoding/UTF-16LE.log"); + + BinaryCompare::compare( "output/encoding/UTF-16LE.log", + "witness/encoding/UTF-16LE.log"); } /** @@ -127,18 +150,22 @@ public: * @param encoding encoding */ private: - void configure(LoggerPtr& logger, - const LogString& filename, const LogString& encoding) { + void configure( LoggerPtr& logger, + const LogString& filename, + const LogString& encoding) { + FileAppenderPtr appender(new FileAppender()); PatternLayoutPtr layout(new PatternLayout()); + Pool p; + layout->setConversionPattern(LOG4CXX_STR("%p - %m\n")); - Pool p; layout->activateOptions(p); - FileAppenderPtr appender(new FileAppender()); - appender->setFile(filename); - appender->setEncoding(encoding); + appender->setAppend(false); + appender->setEncoding(encoding); + appender->setFile(filename); appender->setLayout(layout); appender->activateOptions(p); + logger->addAppender(appender); logger->setLevel(Level::getInfo()); } @@ -149,14 +176,15 @@ public: */ void common(LoggerPtr& logger) { logger->info("Hello, World"); + // pi can be encoded in iso-8859-1 const wchar_t pi[] = { 0x00B9, 0 }; logger->info(pi); + // arbitrary, hopefully meaningless, characters from // Latin, Arabic, Armenian, Bengali, CJK and Cyrillic const wchar_t greeting[] = { L'A', 0x0605, 0x0530, 0x986, 0x4E03, 0x400, 0 }; logger->info(greeting); - } };
