You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by gg...@apache.org on 2022/03/30 22:18:43 UTC
[logging-log4j2] branch release-2.x updated: More tests for LocalizedMessageFactory.
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 <ga...@gmail.com>
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());
+ }
}