ChangeStatusPredicate: Look up statuses case-insensitively

This is already the behavior for other searches, e.g. is:reviewed.

Change-Id: Ib627d70e4dc541e348ac7ec30c07bc79c1dd0791
This commit is contained in:
Dave Borowitz
2014-09-07 17:43:26 -07:00
parent 459fa57adb
commit 7ecea26d58
2 changed files with 6 additions and 3 deletions

View File

@@ -47,12 +47,12 @@ public final class ChangeStatusPredicate extends IndexPredicate<ChangeData> {
}
public static Predicate<ChangeData> parse(String value) {
if ("open".equals(value) || "pending".equals(value)) {
if ("open".equalsIgnoreCase(value) || "pending".equalsIgnoreCase(value)) {
return open();
} else if ("closed".equals(value)) {
} else if ("closed".equalsIgnoreCase(value)) {
return closed();
} else {
Change.Status status = VALUES.inverse().get(value);
Change.Status status = VALUES.inverse().get(value.toLowerCase());
checkArgument(status != null, "invalid change status: %s", value);
return new ChangeStatusPredicate(status);
}

View File

@@ -200,6 +200,7 @@ public abstract class AbstractQueryChangesTest {
ins2.insert();
assertResultEquals(change1, queryOne("status:new"));
assertResultEquals(change1, queryOne("status:NEW"));
assertResultEquals(change1, queryOne("is:new"));
assertResultEquals(change2, queryOne("status:merged"));
assertResultEquals(change2, queryOne("is:merged"));
@@ -226,6 +227,7 @@ public abstract class AbstractQueryChangesTest {
assertEquals(2, results.size());
assertResultEquals(change2, results.get(0));
assertResultEquals(change1, results.get(1));
assertEquals(2, query("status:OPEN").size());
results = query("is:open");
assertEquals(2, results.size());
assertResultEquals(change2, results.get(0));
@@ -253,6 +255,7 @@ public abstract class AbstractQueryChangesTest {
assertEquals(2, results.size());
assertResultEquals(change2, results.get(0));
assertResultEquals(change1, results.get(1));
assertEquals(2, query("status:CLOSED").size());
results = query("is:closed");
assertEquals(2, results.size());
assertResultEquals(change2, results.get(0));