This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch release-2.x
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git


The following commit(s) were added to refs/heads/release-2.x by this push:
     new c4936b2  More tests for LocalizedMessageFactory.
c4936b2 is described below

commit c4936b20ac85f2c182278394d6c81500ee275df9
Author: Gary Gregory <[email protected]>
AuthorDate: Wed Mar 30 18:18:38 2022 -0400

    More tests for LocalizedMessageFactory.
---
 .../log4j/message/LocalizedMessageFactoryTest.java | 47 +++++++++++++++++++++-
 1 file changed, 45 insertions(+), 2 deletions(-)

diff --git 
a/log4j-api/src/test/java/org/apache/logging/log4j/message/LocalizedMessageFactoryTest.java
 
b/log4j-api/src/test/java/org/apache/logging/log4j/message/LocalizedMessageFactoryTest.java
index 1e49a6f..a5f4db4 100644
--- 
a/log4j-api/src/test/java/org/apache/logging/log4j/message/LocalizedMessageFactoryTest.java
+++ 
b/log4j-api/src/test/java/org/apache/logging/log4j/message/LocalizedMessageFactoryTest.java
@@ -29,10 +29,53 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class LocalizedMessageFactoryTest {
 
     @Test
+    public void testMessageMarkersDataNo() {
+        final LocalizedMessageFactory localizedMessageFactory = new 
LocalizedMessageFactory(ResourceBundle.getBundle("MF", Locale.US));
+        final Message message = localizedMessageFactory.newMessage("msg1");
+        assertEquals("This is test number {0} with string argument {1}.", 
message.getFormattedMessage());
+    }
+
+    @Test
+    public void testMessageMarkersNoDataYes() {
+        // Logs the following to the console sadly:
+        //
+        // ERROR StatusLogger Unable to format msg: 
C:/Program%20Files/Some%20Company/Some%20Product%20Name/
+        // java.util.UnknownFormatConversionException: Conversion = 'F'
+        //  at 
java.util.Formatter$FormatSpecifier.conversion(Formatter.java:2691)
+        //  at java.util.Formatter$FormatSpecifier.<init>(Formatter.java:2720)
+        //  at java.util.Formatter.parse(Formatter.java:2560)
+        //  at java.util.Formatter.format(Formatter.java:2501)
+        //  at java.util.Formatter.format(Formatter.java:2455)
+        //  at java.lang.String.format(String.java:2981)
+        //  at 
org.apache.logging.log4j.message.StringFormattedMessage.formatMessage(StringFormattedMessage.java:116)
+        //  at 
org.apache.logging.log4j.message.StringFormattedMessage.getFormattedMessage(StringFormattedMessage.java:88)
+        //  at 
org.apache.logging.log4j.message.FormattedMessage.getFormattedMessage(FormattedMessage.java:178)
+        //  at 
org.apache.logging.log4j.message.LocalizedMessage.getFormattedMessage(LocalizedMessage.java:196)
+        //  at 
org.apache.logging.log4j.message.LocalizedMessageFactoryTest.testNoMatchPercentInMessage(LocalizedMessageFactoryTest.java:60)
+        //
+        final LocalizedMessageFactory localizedMessageFactory = new 
LocalizedMessageFactory(ResourceBundle.getBundle("MF", Locale.US));
+        final Message message = localizedMessageFactory.newMessage("msg1", 1, 
"two");
+        assertEquals("This is test number 1 with string argument two.", 
message.getFormattedMessage());
+    }
+
+    @Test
     public void testNewMessage() {
-        final LocalizedMessageFactory localizedMessageFactory = new 
LocalizedMessageFactory(
-                ResourceBundle.getBundle("MF", Locale.US));
+        final LocalizedMessageFactory localizedMessageFactory = new 
LocalizedMessageFactory(ResourceBundle.getBundle("MF", Locale.US));
         final Message message = 
localizedMessageFactory.newMessage("hello_world");
         assertEquals("Hello world.", message.getFormattedMessage());
     }
+
+    @Test
+    public void testNoMatch() {
+        final LocalizedMessageFactory localizedMessageFactory = new 
LocalizedMessageFactory(ResourceBundle.getBundle("MF", Locale.US));
+        final Message message = localizedMessageFactory.newMessage("no match");
+        assertEquals("no match", message.getFormattedMessage());
+    }
+
+    @Test
+    public void testNoMatchPercentInMessage() {
+        final LocalizedMessageFactory localizedMessageFactory = new 
LocalizedMessageFactory(ResourceBundle.getBundle("MF", Locale.US));
+        final Message message = 
localizedMessageFactory.newMessage("C:/Program%20Files/Some%20Company/Some%20Product%20Name/");
+        
assertEquals("C:/Program%20Files/Some%20Company/Some%20Product%20Name/", 
message.getFormattedMessage());
+    }
 }

Reply via email to