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