You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2019/03/03 08:05:00 UTC

[jira] [Work logged] (TEXT-111) WordUtils.wrap must calculate offset increment from wrapOn pattern length

     [ https://issues.apache.org/jira/browse/TEXT-111?focusedWorklogId=206865&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-206865 ]

ASF GitHub Bot logged work on TEXT-111:
---------------------------------------

                Author: ASF GitHub Bot
            Created on: 03/Mar/19 08:04
            Start Date: 03/Mar/19 08:04
    Worklog Time Spent: 10m 
      Work Description: kinow commented on issue #104: TEXT-111
URL: https://github.com/apache/commons-text/pull/104#issuecomment-468999006
 
 
   Change looks good to me! No backward compatibility issues, Travis-CI is happy with the code changed, a test was included. And it looks like it fixes the bug. @PascalSchumacher would you like to have a look too before it gets merged? I saw that you commented in the issue some time ago. Cheers
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Issue Time Tracking
-------------------

            Worklog Id:     (was: 206865)
            Time Spent: 10m
    Remaining Estimate: 0h

> WordUtils.wrap must calculate offset increment from wrapOn pattern length
> -------------------------------------------------------------------------
>
>                 Key: TEXT-111
>                 URL: https://issues.apache.org/jira/browse/TEXT-111
>             Project: Commons Text
>          Issue Type: Bug
>    Affects Versions: 1.2
>            Reporter: Michael Keppler
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> WordUtils.wrap(...) allows to specify the "wrapOn" regular expression to be used as breakable characters. If this pattern is a zero width assertion or is longer than 1 charachter, then the output is wrong because the wrapping algorithm always skips one character (assuming the line break character has a width of 1).
> Example failing test:
> {code:java}
> assertThat(WordUtils.wrap("abcdef", 2, "\n", false, "(?=d)")).isEqualTo("abc\ndef");
> // produces "abc\nef" instead
> {code}
> Fix would be to change the 2 occurences of
> {code:java}
> offset = spaceToWrapAt + 1;
> {code}
> to
> {code:java}
> offset = spaceToWrapAt + matcher.end() - matcher.start();
> {code}
> thereby not advancing 1 character each time, but as many characters as were just matched.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)