Skip to content

Commit 27f04ef

Browse files
committed
Fix failing test
1 parent 104ff45 commit 27f04ef

3 files changed

Lines changed: 18 additions & 4 deletions

File tree

src/main/java/com/lmax/simpledsl/internal/RepeatingParamValues.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public DslArg[] getParams()
5353
private List<String> getValues(final String name)
5454
{
5555

56-
if (name == null || stream(dslArgs).noneMatch(arg -> arg.getName().equals(name.toLowerCase())))
56+
if (name == null || stream(dslArgs).noneMatch(arg -> arg.getName().equalsIgnoreCase(name)))
5757
{
5858
throw new IllegalArgumentException(String.format("Parameter %s does not exist in this repeating group", name));
5959
}

src/test/java/com/lmax/simpledsl/internal/DslParamsParserTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -646,7 +646,7 @@ public void shouldMatchAllowedValuesCaseInsensitivelyAndReturnValuesUsingTheCase
646646
{
647647
final String[] args = {"a: value", "myGroup: joe", "myValue: a"};
648648
final DslArg[] parameters = {
649-
new RequiredArg("a"),
649+
new RequiredArg("A"),
650650
new RepeatingArgGroup(
651651
new RequiredArg("myGroup").setAllowedValues("Joe", "Jenny"),
652652
new RequiredArg("myValue").setAllowedValues("A", "B"))
@@ -659,8 +659,8 @@ public void shouldMatchAllowedValuesCaseInsensitivelyAndReturnValuesUsingTheCase
659659
assertEquals("value", params.value("a"));
660660
final RepeatingGroup[] groups = params.valuesAsGroup("myGroup");
661661
assertEquals(1, groups.length);
662-
assertEquals("Joe", groups[0].value("myGroup"));
663-
assertEquals("A", groups[0].value("myValue"));
662+
assertEquals("Joe", groups[0].values("myGroup")[0]);
663+
assertEquals("A", groups[0].values("myValue")[0]);
664664
}
665665

666666
@Test

src/test/java/com/lmax/simpledsl/internal/RepeatingParamValuesTest.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,4 +150,18 @@ void shouldThrowExceptionWhenAttemptToGetValueButContainsMultiple()
150150

151151
assertEquals("values() should be used when multiple values are allowed", exception.getMessage());
152152
}
153+
154+
@Test
155+
public void shouldRetrieveValueCaseWithACaseInsensitiveKey()
156+
{
157+
final RequiredArg requiredArg = new RequiredArg("foo");
158+
final OptionalArg otherArg = new OptionalArg("bar");
159+
final Map<String, List<String>> values = new HashMap<>();
160+
values.put("foo", Collections.singletonList(""));
161+
values.put("bar", Collections.singletonList("123"));
162+
final RepeatingParamValues params = new RepeatingParamValues(asList(requiredArg, otherArg).toArray(new DslArg[0]), values);
163+
164+
assertTrue(params.hasValue("Bar"));
165+
assertEquals("123", params.value("BAR"));
166+
}
153167
}

0 commit comments

Comments
 (0)