From 7ecea26d58b45cbbbeddea61b95f3f9a5868fbc0 Mon Sep 17 00:00:00 2001 From: Dave Borowitz Date: Sun, 7 Sep 2014 17:43:26 -0700 Subject: [PATCH] ChangeStatusPredicate: Look up statuses case-insensitively This is already the behavior for other searches, e.g. is:reviewed. Change-Id: Ib627d70e4dc541e348ac7ec30c07bc79c1dd0791 --- .../gerrit/server/query/change/ChangeStatusPredicate.java | 6 +++--- .../server/query/change/AbstractQueryChangesTest.java | 3 +++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeStatusPredicate.java b/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeStatusPredicate.java index 886fdf86e6..a0397b7e2d 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeStatusPredicate.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeStatusPredicate.java @@ -47,12 +47,12 @@ public final class ChangeStatusPredicate extends IndexPredicate { } public static Predicate 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); } diff --git a/gerrit-server/src/test/java/com/google/gerrit/server/query/change/AbstractQueryChangesTest.java b/gerrit-server/src/test/java/com/google/gerrit/server/query/change/AbstractQueryChangesTest.java index 3af5cb4898..e8b411a829 100644 --- a/gerrit-server/src/test/java/com/google/gerrit/server/query/change/AbstractQueryChangesTest.java +++ b/gerrit-server/src/test/java/com/google/gerrit/server/query/change/AbstractQueryChangesTest.java @@ -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));