Handle its conditions with spaces

This change allows its-base to process event-type string containing
spaces.

Bug: issue 4359
Change-Id: I3e035f6cd36294d6af9c84e34c22a0cb38842047
diff --git a/src/main/java/com/googlesource/gerrit/plugins/its/base/workflow/Condition.java b/src/main/java/com/googlesource/gerrit/plugins/its/base/workflow/Condition.java
index 13f6cb4..bf9f9df 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/its/base/workflow/Condition.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/its/base/workflow/Condition.java
@@ -14,6 +14,7 @@
 
 package com.googlesource.gerrit.plugins.its.base.workflow;
 
+import com.google.common.base.Splitter;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Sets;
 import com.google.gerrit.common.Nullable;
@@ -66,7 +67,8 @@
     if (values == null) {
       modifyableValues = Collections.emptySet();
     } else {
-      List<String> valueList = Lists.newArrayList(values.split(","));
+      List<String> valueList = Lists.newArrayList(
+          Splitter.on(',').trimResults().split(values));
       if (!valueList.isEmpty() && "!".equals(valueList.get(0))) {
         modifyableNegated = true;
         valueList.remove(0);
diff --git a/src/test/java/com/googlesource/gerrit/plugins/its/base/workflow/ConditionTest.java b/src/test/java/com/googlesource/gerrit/plugins/its/base/workflow/ConditionTest.java
index f6cd47f..5f58dcc 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/its/base/workflow/ConditionTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/its/base/workflow/ConditionTest.java
@@ -123,6 +123,26 @@
     assertTrue("isMetBy gave false", condition.isMetBy(properties));
   }
 
+  public void testIsMetByOredMultipleWithSpaces() {
+    Condition condition = createCondition("testKey", "value1, value2, value3");
+
+    Property property1 = createMock(Property.class);
+    expect(property1.getKey()).andReturn("testKey").anyTimes();
+    expect(property1.getValue()).andReturn("value1").anyTimes();
+
+    Property property2 = createMock(Property.class);
+    expect(property2.getKey()).andReturn("testKey").anyTimes();
+    expect(property2.getValue()).andReturn("value3").anyTimes();
+
+    Collection<Property> properties = Lists.newArrayListWithCapacity(2);
+    properties.add(property1);
+    properties.add(property2);
+
+    replayMocks();
+
+    assertTrue("isMetBy gave false", condition.isMetBy(properties));
+  }
+
   public void testIsMetByOredAll() {
     Condition condition = createCondition("testKey", "value1,value2,value3");