commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gilles (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (TEXT-88) WordUtils.capitalizeFully behaves in a counterintuitive manner with empty delimiter array.
Date Fri, 16 Jun 2017 11:55:00 GMT

    [ https://issues.apache.org/jira/browse/TEXT-88?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16051802#comment-16051802
] 

Gilles commented on TEXT-88:
----------------------------

Referring the description of this issue, I think that
{code}
WordUtils.capitalizeFully("i am fine", new char[]{})
{code}
could output "I AM FINE" (if empty would be considered the same as not provided).

bq. your logic ... throw NPE?

Yes, whenever not being able to infer the meaning of {{null}} cannot produce an unequivocal
result.
In the above, it should rather be {{IllegalArgumentException}}...

Syntactic sugar is another issue (e.g. we could imagine a "sloppy" version of {{StringUtils}}
that prominently _transforms_ any {{null}} to something that will not trigger an exception).

bq. StringUtils.equals("abc", null)  = false

This one is fine though: the result is always right when one argument is {{null}} and the
other is not.
Much less obvious is {{StringUtils.equals(null, null)}}.
But the current logic crumbles when {{null}} is considered equals to the empty string:
{code}
StringUtils.equals(null, null); // true (but most probably a programming error)
StringUtils.equals("", null); // ?
{code}


> WordUtils.capitalizeFully behaves in a counterintuitive manner with empty delimiter array.
> ------------------------------------------------------------------------------------------
>
>                 Key: TEXT-88
>                 URL: https://issues.apache.org/jira/browse/TEXT-88
>             Project: Commons Text
>          Issue Type: Bug
>            Reporter: Rob Tompkins
>
> As discussed in TEXT-85, it seems that 
> {code:java}
> WordUtils.capitalizeFully("i am fine", new char[]{}) // --> i am fine
> {code}
> Both Sebb and Arun think that this is odd and that the letter "i" should have been capitalized
resulting in the output {{I am fine}}



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

Mime
View raw message