Index: src/test/java/org/apache/harmony/tests/java/util/regex/MatcherTest.java =================================================================== --- src/test/java/org/apache/harmony/tests/java/util/regex/MatcherTest.java (revision 496679) +++ src/test/java/org/apache/harmony/tests/java/util/regex/MatcherTest.java (working copy) @@ -20,6 +20,8 @@ import junit.framework.TestCase; import java.util.regex.Matcher; import java.util.regex.Pattern; +import java.nio.CharBuffer; +import java.io.StringReader; public class MatcherTest extends TestCase { String[] testPatterns = { @@ -653,8 +655,27 @@ Pattern pattern = Pattern.compile("(?:\\d+)(?:pt)"); assertTrue(pattern.matcher("14pt").matches()); } + + /* + * Regression test for HARMONY-799 + */ + public void test_hitEnd() throws Exception { + Pattern p = Pattern.compile("(\\p{Lower}+$)", Pattern.MULTILINE); //$NON-NLS-1$ + CharBuffer buf = CharBuffer.allocate(8); + buf.position(0); + buf.limit(4); + String lowerSentence = "lowe3"; //$NON-NLS-1$ + StringReader stringReader = new StringReader(lowerSentence); + stringReader.read(buf); + buf.flip(); + Matcher matcher = p.matcher(buf); + + assertTrue(matcher.matches()); + assertTrue(matcher.hitEnd()); + } + public static void main(String[] args) { junit.textui.TestRunner.run(MatcherTest.class); }