mirror of https://github.com/apache/lucene.git
Updated JakartaRegexpCapabilities JavaDoc which gave users the impression the JakartaRegexp implementation provides a rock solid "prefix" implementation. Patch contains another testcase which shows the shaky behavior. See LUCENE-2072 for reference.
git-svn-id: https://svn.apache.org/repos/asf/lucene/java/trunk@884259 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
e87d4831e9
commit
e077c4d563
|
@ -21,9 +21,11 @@ import org.apache.regexp.RE;
|
|||
import org.apache.regexp.RegexpTunnel;
|
||||
|
||||
/**
|
||||
* Implementation tying <a href="http://jakarta.apache.org/regexp">Jakarta Regexp</a>
|
||||
* to RegexQuery. Thanks to some internals of Jakarta Regexp, this
|
||||
* has a solid {@link #prefix} implementation.
|
||||
* Implementation tying <a href="http://jakarta.apache.org/regexp">Jakarta
|
||||
* Regexp</a> to RegexQuery. Jakarta Regepx internally supports a
|
||||
* {@link #prefix} implementation which can offer performance gains under
|
||||
* certain circumstances. Yet, the implementation appears to be rather shaky as
|
||||
* it doesn't always provide a prefix even if one would exist.
|
||||
*/
|
||||
public class JakartaRegexpCapabilities implements RegexCapabilities {
|
||||
private RE regexp;
|
||||
|
|
|
@ -34,4 +34,13 @@ public class TestJakartaRegexpCapabilities extends TestCase {
|
|||
assertTrue(cap.match("lucene"));
|
||||
assertEquals("lucene", cap.prefix());
|
||||
}
|
||||
|
||||
public void testShakyPrefix(){
|
||||
JakartaRegexpCapabilities cap = new JakartaRegexpCapabilities();
|
||||
cap.compile("(ab|ac)");
|
||||
assertTrue(cap.match("ab"));
|
||||
assertTrue(cap.match("ac"));
|
||||
// why is it not a???
|
||||
assertNull(cap.prefix());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue