Skip to content

Commit 2ee8e3a

Browse files
authored
Merge pull request #52 from ttyniwa/feature/value-contains-equals
Add support for = in parameter values.
2 parents 757de17 + b1e7c82 commit 2ee8e3a

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

src/main/java/org/jenkinsci/plugins/parameterizedscheduler/ParameterParser.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public Map<String, String> parse(String nameValuePairFormattedString) {
3434
//the default splitter message in this scenario is not user friendly, so snip a trailing semicolon
3535
clean = clean.substring(0, clean.length() - 1);
3636
}
37-
return Splitter.on(PAIR_SEPARATOR).trimResults().withKeyValueSeparator(NAME_VALUE_SEPARATOR).split(clean);
37+
return Splitter.on(PAIR_SEPARATOR).trimResults().withKeyValueSeparator(Splitter.on(NAME_VALUE_SEPARATOR).limit(2)).split(clean);
3838
}
3939

4040
public String checkSanity(String cronTabSpec, ParametersDefinitionProperty parametersDefinitionProperty) {

src/test/java/org/jenkinsci/plugins/parameterizedscheduler/ParameterParserTest.java

+9
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,15 @@ public void test_TwoParamsStringWithSpaceReturns_emptyMap() {
9191
assertEquals(expected, testObject.parse("name2=value2; name=value"));
9292
}
9393

94+
@Test
95+
public void test_ValueContainsEquals_emptyMap() {
96+
ParameterParser testObject = new ParameterParser();
97+
98+
HashMap<String, String> expected = new HashMap<String, String>();
99+
expected.put("name", "value=contains=equals");
100+
assertEquals(expected, testObject.parse("name=value=contains=equals"));
101+
}
102+
94103
@Test
95104
public void checkSanity_HappyPath() throws Exception {
96105
ParameterParser testObject = new ParameterParser();

0 commit comments

Comments
 (0)