commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Benoît Moreau (JIRA) <j...@apache.org>
Subject [jira] [Created] (TEXT-106) Exception thrown in ExtendedMessageFormat using quotes with custom registry
Date Fri, 27 Oct 2017 09:24:00 GMT
Benoît Moreau created TEXT-106:
----------------------------------

             Summary: Exception thrown in ExtendedMessageFormat using quotes with custom registry
                 Key: TEXT-106
                 URL: https://issues.apache.org/jira/browse/TEXT-106
             Project: Commons Text
          Issue Type: Bug
    Affects Versions: 1.1
            Reporter: Benoît Moreau


An exception is thrown when a quote is used just before end brace of format element definition
when a custom registry is used.

This exception is not thrown when a blank space is added before the end brace.

{code:java}
public static void main(String[] args)
{
	String pattern           = "TEST: {0,choice,0#0|0<'1'}";
	String patternWorkaround = "TEST: {0,choice,0#0|0<'1' }"; // a space after quote

	// Works fine
	MessageFormat format0 = new MessageFormat(pattern);

	System.out.println(format0.format(new Integer[] { 0 })); // "TEST: 0"
	System.out.println(format0.format(new Integer[] { 1 })); // "TEST: 1"

	// Works fine
	ExtendedMessageFormat format1 = new ExtendedMessageFormat(pattern);

	System.out.println(format1.format(new Integer[] { 0 })); // "TEST: 0"
	System.out.println(format1.format(new Integer[] { 1 })); // "TEST: 1"

	// Works fine
	ExtendedMessageFormat format2 = new ExtendedMessageFormat(patternWorkaround, new HashMap<String,
FormatFactory>());

	System.out.println(format2.format(new Integer[] { 0 })); // "TEST: 0"
	System.out.println(format2.format(new Integer[] { 1 })); // "TEST: 1 "

	// Doesn't work
	ExtendedMessageFormat format3 = new ExtendedMessageFormat(pattern, new HashMap<String,
FormatFactory>());

	System.out.println(format3.format(new Integer[] { 0 })); // Exception in thread "main" java.lang.IllegalArgumentException:
Unterminated format element at position 9
	System.out.println(format3.format(new Integer[] { 1 }));
}
{code}

Expected behavior: This exception should not be thrown.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message