Fix missing reference name in JSON output

After I088ef448, the name of the ref was transmitted as an empty string
via JSON when the exact path of a reference was specified. Fix this
regression by not removing the path prefix for exactly matched refs and
add a test for it.

This fix only tries to establish the behavior prior to I088ef448. Even
previously, it was a bit peculiar: Branch names are truncated in the
JSON output when multiple refs are found for a given ref name. This
doesn't happen when text output is chosen or only a single ref is found.

Change-Id: I82ac61e4eb6812404566a393dd6e60c829d5cd97
diff --git a/java/com/google/gitiles/RefServlet.java b/java/com/google/gitiles/RefServlet.java
index 8434c86..8a199a6 100644
--- a/java/com/google/gitiles/RefServlet.java
+++ b/java/com/google/gitiles/RefServlet.java
@@ -212,7 +212,7 @@
     path = Constants.R_REFS + path;
     Ref singleRef = refdb.exactRef(path);
     if (singleRef != null) {
-      return new RefsResult(path, ImmutableList.of(singleRef));
+      return new RefsResult("", ImmutableList.of(singleRef));
     }
     path = path + '/';
     return new RefsResult(path, refdb.getRefsByPrefix(path));
diff --git a/javatests/com/google/gitiles/RefServletTest.java b/javatests/com/google/gitiles/RefServletTest.java
index daaa52e..b0c0929 100644
--- a/javatests/com/google/gitiles/RefServletTest.java
+++ b/javatests/com/google/gitiles/RefServletTest.java
@@ -146,6 +146,18 @@
   }
 
   @Test
+  public void singleHeadJson() throws Exception {
+    setUpSimpleRefs();
+    Map<String, RefJsonData> result = buildRefJson("/repo/+refs/heads/master");
+
+    assertThat(result.keySet()).containsExactly("refs/heads/master");
+    RefJsonData master = result.get("refs/heads/master");
+    assertThat(master.value).isEqualTo(id("refs/heads/master"));
+    assertThat(master.peeled).isNull();
+    assertThat(master.target).isNull();
+  }
+
+  @Test
   public void singlePeeledTagText() throws Exception {
     setUpSimpleRefs();
     FakeHttpServletResponse res = buildText("/repo/+refs/tags/atag");