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)

Reply via email to