Clarify usage of @GerritConfig#value() and #values()

If the value() is given, it takes precedence over values(), i.e.
values() is ignored if value() is specified.

Add Javadoc and a test to clarify this behavior.

Change-Id: I1bf8bd732f973a8d7106601d54680728ad1e0763
diff --git a/gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/GerritConfig.java b/gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/GerritConfig.java
index 88e60dc..44323e4 100644
--- a/gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/GerritConfig.java
+++ b/gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/GerritConfig.java
@@ -34,7 +34,13 @@
    */
   String name();
 
+  /**
+   * Single value. Takes precedence over values specified in {@code values}.
+   */
   String value() default "";
 
+  /**
+   * Multiple values (list). Ignored if {@code value} is specified.
+   */
   String[] values() default "";
 }
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/annotation/UseGerritConfigAnnotationTest.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/annotation/UseGerritConfigAnnotationTest.java
index 8e75c97..451af0f 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/annotation/UseGerritConfigAnnotationTest.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/annotation/UseGerritConfigAnnotationTest.java
@@ -66,4 +66,16 @@
         .asList()
         .containsExactly("value-1", "value-2");
   }
+
+  @Test
+  @GerritConfig(
+    name = "section.name",
+    value = "value-1",
+    values = {"value-2", "value-3"}
+  )
+  public void valueHasPrecedenceOverValues() {
+    assertThat(cfg.getStringList("section", null, "name"))
+        .asList()
+        .containsExactly("value-1");
+  }
 }