You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rp...@apache.org on 2016/03/08 13:17:45 UTC
logging-log4j2 git commit: LOG4J2-1296 added additional unit tests
for ParameterFormatter
Repository: logging-log4j2
Updated Branches:
refs/heads/master 8b0e21408 -> f157cc2ff
LOG4J2-1296 added additional unit tests for ParameterFormatter
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/f157cc2f
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/f157cc2f
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/f157cc2f
Branch: refs/heads/master
Commit: f157cc2ff083753356881254c518467062ea4b36
Parents: 8b0e214
Author: rpopma <rp...@apache.org>
Authored: Tue Mar 8 23:17:38 2016 +1100
Committer: rpopma <rp...@apache.org>
Committed: Tue Mar 8 23:17:38 2016 +1100
----------------------------------------------------------------------
.../log4j/message/ParameterFormatterTest.java | 68 +++++++++++++++++++-
1 file changed, 66 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/f157cc2f/log4j-api/src/test/java/org/apache/logging/log4j/message/ParameterFormatterTest.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/message/ParameterFormatterTest.java b/log4j-api/src/test/java/org/apache/logging/log4j/message/ParameterFormatterTest.java
index 4158b17..e6a0dbd 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/message/ParameterFormatterTest.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/message/ParameterFormatterTest.java
@@ -17,7 +17,6 @@
package org.apache.logging.log4j.message;
import java.util.ArrayList;
-import java.util.IdentityHashMap;
import java.util.List;
import java.util.Objects;
@@ -101,8 +100,73 @@ public class ParameterFormatterTest {
}
@Test
- public void testFormatMessage() throws Exception {
+ public void testFormatMessage3StringArgs() {
+ final String testMsg = "Test message {}{} {}";
+ final String[] args = { "a", "b", "c" };
+ final StringBuilder sb = new StringBuilder();
+ ParameterFormatter.formatMessage(sb, testMsg, args, 3);
+ final String result = sb.toString();
+ assertEquals("Test message ab c", result);
+ }
+
+ @Test
+ public void testFormatMessageNullArgs() {
+ final String testMsg = "Test message {} {} {} {} {} {}";
+ final String[] args = { "a", null, "c", null, null, null };
+ final StringBuilder sb = new StringBuilder();
+ ParameterFormatter.formatMessage(sb, testMsg, args, 6);
+ final String result = sb.toString();
+ assertEquals("Test message a null c null null null", result);
+ }
+
+ @Test
+ public void testFormatMessageStringArgsIgnoresSuperfluousArgs() {
+ final String testMsg = "Test message {}{} {}";
+ final String[] args = { "a", "b", "c", "unnecessary", "superfluous" };
+ final StringBuilder sb = new StringBuilder();
+ ParameterFormatter.formatMessage(sb, testMsg, args, 5);
+ final String result = sb.toString();
+ assertEquals("Test message ab c", result);
+ }
+
+ @Test
+ public void testFormatMessageStringArgsWithEscape() {
+ final String testMsg = "Test message \\{}{} {}";
+ final String[] args = { "a", "b", "c" };
+ final StringBuilder sb = new StringBuilder();
+ ParameterFormatter.formatMessage(sb, testMsg, args, 3);
+ final String result = sb.toString();
+ assertEquals("Test message {}a b", result);
+ }
+
+ @Test
+ public void testFormatMessageStringArgsWithTrailingEscape() {
+ final String testMsg = "Test message {}{} {}\\";
+ final String[] args = { "a", "b", "c" };
+ final StringBuilder sb = new StringBuilder();
+ ParameterFormatter.formatMessage(sb, testMsg, args, 3);
+ final String result = sb.toString();
+ assertEquals("Test message ab c\\", result);
+ }
+ @Test
+ public void testFormatMessageStringArgsWithTrailingEscapedEscape() {
+ final String testMsg = "Test message {}{} {}\\\\";
+ final String[] args = { "a", "b", "c" };
+ final StringBuilder sb = new StringBuilder();
+ ParameterFormatter.formatMessage(sb, testMsg, args, 3);
+ final String result = sb.toString();
+ assertEquals("Test message ab c\\\\", result);
+ }
+
+ @Test
+ public void testFormatMessageStringArgsWithEscapedEscape() {
+ final String testMsg = "Test message \\\\{}{} {}";
+ final String[] args = { "a", "b", "c" };
+ final StringBuilder sb = new StringBuilder();
+ ParameterFormatter.formatMessage(sb, testMsg, args, 3);
+ final String result = sb.toString();
+ assertEquals("Test message \\ab c", result);
}
@Test