fix one more violation in this breakiterator

git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1459609 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Robert Muir 2013-03-22 02:04:39 +00:00
parent e3150fc20c
commit e119331149
2 changed files with 14 additions and 3 deletions

View File

@ -112,6 +112,6 @@ final class WholeBreakIterator extends BreakIterator {
start = newText.getBeginIndex(); start = newText.getBeginIndex();
end = newText.getEndIndex(); end = newText.getEndIndex();
text = newText; text = newText;
current = newText.getIndex(); current = start;
} }
} }

View File

@ -63,6 +63,13 @@ public class TestWholeBreakIterator extends LuceneTestCase {
assertSameBreaks("000000", 3, 0, expected, actual); assertSameBreaks("000000", 3, 0, expected, actual);
} }
/** the current position must be ignored, initial position is always first() */
public void testFirstPosition() throws Exception {
BreakIterator expected = BreakIterator.getSentenceInstance(Locale.ROOT);
BreakIterator actual = new WholeBreakIterator();
assertSameBreaks("000ab000", 3, 2, 4, expected, actual);
}
public void assertSameBreaks(String text, BreakIterator expected, BreakIterator actual) { public void assertSameBreaks(String text, BreakIterator expected, BreakIterator actual) {
assertSameBreaks(new StringCharacterIterator(text), assertSameBreaks(new StringCharacterIterator(text),
new StringCharacterIterator(text), new StringCharacterIterator(text),
@ -71,8 +78,12 @@ public class TestWholeBreakIterator extends LuceneTestCase {
} }
public void assertSameBreaks(String text, int offset, int length, BreakIterator expected, BreakIterator actual) { public void assertSameBreaks(String text, int offset, int length, BreakIterator expected, BreakIterator actual) {
assertSameBreaks(new StringCharacterIterator(text, offset, offset+length, offset), assertSameBreaks(text, offset, length, offset, expected, actual);
new StringCharacterIterator(text, offset, offset+length, offset), }
public void assertSameBreaks(String text, int offset, int length, int current, BreakIterator expected, BreakIterator actual) {
assertSameBreaks(new StringCharacterIterator(text, offset, offset+length, current),
new StringCharacterIterator(text, offset, offset+length, current),
expected, expected,
actual); actual);
} }