diff --git a/java/com/google/gerrit/server/rules/PrologRuleEvaluator.java b/java/com/google/gerrit/server/rules/PrologRuleEvaluator.java index 8e39b5044c..e61fc90935 100644 --- a/java/com/google/gerrit/server/rules/PrologRuleEvaluator.java +++ b/java/com/google/gerrit/server/rules/PrologRuleEvaluator.java @@ -297,7 +297,8 @@ public class PrologRuleEvaluator { try { return LabelType.checkName(name); } catch (IllegalArgumentException e) { - return LabelType.checkName("Invalid-Prolog-Rules-Label-Name--" + sanitizeLabelName(name)); + String newName = "Invalid-Prolog-Rules-Label-Name-" + sanitizeLabelName(name); + return LabelType.checkName(newName.replace("--", "-")); } } diff --git a/javatests/com/google/gerrit/server/rules/PrologRuleEvaluatorTest.java b/javatests/com/google/gerrit/server/rules/PrologRuleEvaluatorTest.java index f709f5531d..8622b32d35 100644 --- a/javatests/com/google/gerrit/server/rules/PrologRuleEvaluatorTest.java +++ b/javatests/com/google/gerrit/server/rules/PrologRuleEvaluatorTest.java @@ -30,18 +30,18 @@ public class PrologRuleEvaluatorTest { @Test public void labelWithSpacesIsTransformed() { assertThat(PrologRuleEvaluator.checkLabelName("Label with spaces")) - .isEqualTo("Invalid-Prolog-Rules-Label-Name--Labelwithspaces"); + .isEqualTo("Invalid-Prolog-Rules-Label-Name-Labelwithspaces"); } @Test public void labelStartingWithADashIsTransformed() { assertThat(PrologRuleEvaluator.checkLabelName("-dashed-label")) - .isEqualTo("Invalid-Prolog-Rules-Label-Name---dashed-label"); + .isEqualTo("Invalid-Prolog-Rules-Label-Name-dashed-label"); } @Test public void labelWithInvalidCharactersIsTransformed() { assertThat(PrologRuleEvaluator.checkLabelName("*urgent*")) - .isEqualTo("Invalid-Prolog-Rules-Label-Name--urgent"); + .isEqualTo("Invalid-Prolog-Rules-Label-Name-urgent"); } }