Allow Hashtags searches prefixed with "#".

Change-Id: I9567e5292c84c68ef9b32159da9cc922e553aaa8
This commit is contained in:
Gustaf Lundh
2014-09-21 22:50:55 +02:00
parent 4353dbb859
commit a3e4722e4c
3 changed files with 9 additions and 4 deletions

View File

@@ -168,7 +168,7 @@ fragment NON_WORD
: ( '\u0000'..' '
| '!'
| '"'
| '#'
// '#' permit
| '$'
| '%'
| '&'

View File

@@ -14,13 +14,14 @@
package com.google.gerrit.server.query.change;
import com.google.gerrit.server.change.HashtagsUtil;
import com.google.gerrit.server.index.ChangeField;
import com.google.gerrit.server.index.IndexPredicate;
import com.google.gwtorm.server.OrmException;
class HashtagPredicate extends IndexPredicate<ChangeData> {
HashtagPredicate(String hashtag) {
super(ChangeField.HASHTAG, hashtag.toLowerCase());
super(ChangeField.HASHTAG, HashtagsUtil.cleanupHashtag(hashtag));
}
@Override

View File

@@ -938,9 +938,11 @@ public abstract class AbstractQueryChangesTest {
assertResultEquals(changes.get(1), results.get(0));
assertResultEquals(changes.get(0), results.get(1));
assertResultEquals(changes.get(1), queryOne("hashtag:bar"));
assertTrue(query("hashtag:\" bar \"").isEmpty());
assertResultEquals(changes.get(1), queryOne("hashtag:\"a tag\""));
assertTrue(query("hashtag:\" a tag \"").isEmpty());
assertResultEquals(changes.get(1), queryOne("hashtag:\"a tag \""));
assertResultEquals(changes.get(1), queryOne("hashtag:\" a tag \""));
assertResultEquals(changes.get(1), queryOne("hashtag:\"#a tag\""));
assertResultEquals(changes.get(1), queryOne("hashtag:\"# #a tag\""));
}
@Test
@@ -952,6 +954,8 @@ public abstract class AbstractQueryChangesTest {
assertTrue(query("hashtag:\" bar \"").isEmpty());
assertTrue(query("hashtag:\"a tag\"").isEmpty());
assertTrue(query("hashtag:\" a tag \"").isEmpty());
assertTrue(query("hashtag:#foo").isEmpty());
assertTrue(query("hashtag:\"# #foo\"").isEmpty());
}
@Test