提交 c2fd8408 编写于 作者: M mindless

[FIXED HUDSON-6252] fix bad index calculation in SubText.subText which

caused StringIndexOutOfBoundsException in UrlAnnotator.  Added test.


git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@30102 71c3de6d-444a-0410-be80-ed276b4c234a
上级 be39749c
......@@ -98,7 +98,7 @@ public class MarkupText extends AbstractMarkupText {
@Override
public SubText subText(int start, int end) {
return MarkupText.this.subText(this.start+start,
end<0 ? this.end+1+end : this.end+end);
end<0 ? this.end+1+end : this.start+end);
}
@Override
......
......@@ -28,8 +28,6 @@ import hudson.MarkupText.SubText;
import java.util.List;
import java.util.regex.Pattern;
import java.net.URL;
import java.net.MalformedURLException;
/**
* @author Kohsuke Kawaguchi
......@@ -101,5 +99,20 @@ public class MarkupTextTest extends TestCase {
assertEquals("Line<hr/>\n2 &amp; 3\n&lt;End>\n", text.toString(true));
}
/* @Bug(6252) */
public void testSubTextSubText() {
MarkupText text = new MarkupText("abcdefgh");
SubText sub = text.subText(2, 7);
assertEquals("cdefg", sub.getText());
sub = sub.subText(1, 4);
assertEquals("def", sub.getText());
// test negative end
sub = text.subText(2, -3);
assertEquals("cdef", sub.getText());
sub = sub.subText(1, -2);
assertEquals("de", sub.getText());
}
private static final Pattern pattern = Pattern.compile("issue #([0-9]+)");
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册