On Wed, Sep 30, 2020 at 8:20 PM Bruno P. Kinoshita <[email protected]> wrote:

> >Note: The Javadoc says the var markers must not be null. So we could
> document null and empty as the same.
>
> +1
>
> I think it doesn't make much sense, and I think it also doesn't work.
> Maybe we should allow only for non-empty prefix/sufix?
>

Let's think about the principle of least surprise:
- Don't look at the implementation now.
- What do you expect to happen for null variable prefix
- What do you expect to happen for null variable postfix
- As above for the empty string

For me, this is about _variable substitution_ and my expectation is that I
should be able to tell a variable from its surrounding text, so empty
strings fall into the noop category.
At that point, you might as well use String#replace().

Gary


>
>
> Bruno
>
> On Thursday, 1 October 2020, 11:57:46 am NZDT, Gary Gregory <
> [email protected]> wrote:
>
>
> Note: The Javadoc says the var markers must not be null. So we could
> document null and empty as the same.
>
> The first question I have is how does this even make sense, both the start
> and end markers are empty strings... so... that matches each character in
> input since "a" starts with "" and ends with ""?
>
> Gary
>
> On Wed, Sep 30, 2020 at 6:46 PM Bruno P. Kinoshita <[email protected]>
> wrote:
>
>  Hi,
> I reproduced the same behaviour on master branch of [text]. And indeed,
> found nothing in the javadoc that says what is the expected behaviour.
> I think the class javadoc, as well as the setter javadoc would be good
> places to have such a documentation.
> Let's see what others think about it, but if there are no objections, then
> we would need a JIRA issue to track this change (and pull requests would be
> welcome as well :)
>
> Thanks!Bruno
>
>
>     On Thursday, 1 October 2020, 10:49:52 am NZDT, Thomas Auinger <
> [email protected]> wrote:
>
>  Hi,
>
>
>
> I can run the following test without exception but it doesn't yield the
> expected result. Also I can find no information that prefix and or suffix
> must not be empty.
>
>
>
> @Test
> public void testNoPrefixAndSuffix() {
>     final Map<String, String> map = new HashMap<>();
>     map.put("name", "commons");
>     assertEqualsCharSeq("Hi commons!", StringSubstitutor.replace("Hi
> name!",
> map, "", ""));
> }
>
>
>
> Is that a bug?
>
>
>
> Cheers
>
> Thomas
>
>
>
>
>
>

Reply via email to