Merge pull request #689 from apache/WW-5310-equal-sign

[WW-5310] Properly parses param value with equal sign
This commit is contained in:
Lukasz Lenart
2023-05-28 09:12:56 +02:00
committed by GitHub
2 changed files with 35 additions and 11 deletions
@@ -76,6 +76,33 @@ public class StrutsQueryStringParserTest {
assertEquals("value with space", queryParameters.get("name"));
}
@Test
public void shouldProperlySplitParamsWithDoubleEqualSign() {
Map<String, Object> queryParameters = parser.parse("id1=n123=&id2=n3456", false);
assertTrue(queryParameters.containsKey("id1"));
assertTrue(queryParameters.containsKey("id2"));
assertEquals("n123=", queryParameters.get("id1"));
assertEquals("n3456", queryParameters.get("id2"));
}
@Test
public void shouldHandleParamWithNoValue1() {
Map<String, Object> queryParameters = parser.parse("paramNoValue", false);
assertTrue(queryParameters.containsKey("paramNoValue"));
assertEquals("", queryParameters.get("paramNoValue"));
}
@Test
public void shouldHandleParamWithNoValue2() {
Map<String, Object> queryParameters = parser.parse("paramNoValue&param1=1234", false);
assertTrue(queryParameters.containsKey("paramNoValue"));
assertTrue(queryParameters.containsKey("param1"));
assertEquals("1234", queryParameters.get("param1"));
}
@Before
public void setUp() throws Exception {
this.parser = new StrutsQueryStringParser(new StrutsUrlDecoder());