You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2010/07/26 22:02:49 UTC
svn commit: r979422 - in /lucene/dev/trunk/lucene/src/test/org/apache/lucene:
search/TestRegexpRandom2.java util/automaton/AutomatonTestUtil.java
Author: rmuir
Date: Mon Jul 26 20:02:49 2010
New Revision: 979422
URL: http://svn.apache.org/viewvc?rev=979422&view=rev
Log:
don't generate invalid random regexps: the toString method of RegExp doesnt escape
Modified:
lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestRegexpRandom2.java
lucene/dev/trunk/lucene/src/test/org/apache/lucene/util/automaton/AutomatonTestUtil.java
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestRegexpRandom2.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestRegexpRandom2.java?rev=979422&r1=979421&r2=979422&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestRegexpRandom2.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestRegexpRandom2.java Mon Jul 26 20:02:49 2010
@@ -86,9 +86,9 @@ public class TestRegexpRandom2 extends L
private class DumbRegexpQuery extends MultiTermQuery {
private final Automaton automaton;
- DumbRegexpQuery(Term term) {
+ DumbRegexpQuery(Term term, int flags) {
super(term.field());
- RegExp re = new RegExp(term.text());
+ RegExp re = new RegExp(term.text(), flags);
automaton = re.toAutomaton();
}
@@ -130,8 +130,8 @@ public class TestRegexpRandom2 extends L
* simple regexpquery implementation.
*/
private void assertSame(String regexp) throws IOException {
- RegexpQuery smart = new RegexpQuery(new Term("field", regexp));
- DumbRegexpQuery dumb = new DumbRegexpQuery(new Term("field", regexp));
+ RegexpQuery smart = new RegexpQuery(new Term("field", regexp), RegExp.NONE);
+ DumbRegexpQuery dumb = new DumbRegexpQuery(new Term("field", regexp), RegExp.NONE);
// we can't compare the two if automaton rewrites to a simpler enum.
// for example: "a\uda07\udcc7?.*?" gets rewritten to a simpler query:
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/util/automaton/AutomatonTestUtil.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/util/automaton/AutomatonTestUtil.java?rev=979422&r1=979421&r2=979422&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/util/automaton/AutomatonTestUtil.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/util/automaton/AutomatonTestUtil.java Mon Jul 26 20:02:49 2010
@@ -40,7 +40,9 @@ public class AutomatonTestUtil {
if (!UnicodeUtil.validUTF16String(regexp))
continue;
try {
- return new RegExp(regexp, RegExp.NONE);
+ // NOTE: we parse-tostring-parse again, because we are
+ // really abusing RegExp.toString() here (its just for debugging)
+ return new RegExp(new RegExp(regexp, RegExp.NONE).toString(), RegExp.NONE);
} catch (Exception e) {}
}
}