mirror of
https://github.com/apache/struts.git
synced 2026-08-31 19:35:40 +00:00
Merge pull request #630 from apache/WW-4514-url
[WW-4514] Fixes building query string with empty parameters
This commit is contained in:
+19
-6
@@ -26,6 +26,9 @@ import com.opensymphony.xwork2.util.ValueStack;
|
||||
import org.apache.struts2.StrutsStatics;
|
||||
import org.apache.struts2.dispatcher.mapper.DefaultActionMapper;
|
||||
import org.apache.struts2.junit.StrutsTestCase;
|
||||
import org.apache.struts2.url.StrutsParametersStringBuilder;
|
||||
import org.apache.struts2.url.StrutsUrlDecoder;
|
||||
import org.apache.struts2.url.StrutsUrlEncoder;
|
||||
import org.apache.struts2.views.util.DefaultUrlHelper;
|
||||
import org.springframework.mock.web.MockHttpServletRequest;
|
||||
import org.springframework.mock.web.MockHttpServletResponse;
|
||||
@@ -33,6 +36,9 @@ import org.springframework.mock.web.MockServletContext;
|
||||
|
||||
public class JSONActionRedirectResultTest extends StrutsTestCase {
|
||||
|
||||
private DefaultActionMapper actionMapper;
|
||||
private DefaultUrlHelper urlHelper;
|
||||
|
||||
MockActionInvocation invocation;
|
||||
MockHttpServletResponse response;
|
||||
MockServletContext servletContext;
|
||||
@@ -43,8 +49,8 @@ public class JSONActionRedirectResultTest extends StrutsTestCase {
|
||||
public void testNormalRedirect() throws Exception {
|
||||
JSONActionRedirectResult result = new JSONActionRedirectResult();
|
||||
result.setActionName("targetAction");
|
||||
result.setActionMapper(new DefaultActionMapper());
|
||||
result.setUrlHelper(new DefaultUrlHelper());
|
||||
result.setActionMapper(actionMapper);
|
||||
result.setUrlHelper(urlHelper);
|
||||
|
||||
Object action = new Object();
|
||||
stack.push(action);
|
||||
@@ -62,8 +68,8 @@ public class JSONActionRedirectResultTest extends StrutsTestCase {
|
||||
public void testJsonRedirect() throws Exception {
|
||||
JSONActionRedirectResult result = new JSONActionRedirectResult();
|
||||
result.setActionName("targetAction");
|
||||
result.setActionMapper(new DefaultActionMapper());
|
||||
result.setUrlHelper(new DefaultUrlHelper());
|
||||
result.setActionMapper(actionMapper);
|
||||
result.setUrlHelper(urlHelper);
|
||||
|
||||
request.setParameter("struts.enableJSONValidation", "true");
|
||||
request.setParameter("struts.validateOnly", "false");
|
||||
@@ -82,8 +88,8 @@ public class JSONActionRedirectResultTest extends StrutsTestCase {
|
||||
public void testValidateOnlyFalse() throws Exception {
|
||||
JSONActionRedirectResult result = new JSONActionRedirectResult();
|
||||
result.setActionName("targetAction");
|
||||
result.setActionMapper(new DefaultActionMapper());
|
||||
result.setUrlHelper(new DefaultUrlHelper());
|
||||
result.setActionMapper(actionMapper);
|
||||
result.setUrlHelper(urlHelper);
|
||||
|
||||
request.setParameter("struts.enableJSONValidation", "true");
|
||||
request.setParameter("struts.validateOnly", "true");
|
||||
@@ -118,5 +124,12 @@ public class JSONActionRedirectResultTest extends StrutsTestCase {
|
||||
MockActionProxy mockActionProxy = new MockActionProxy();
|
||||
mockActionProxy.setConfig(new ActionConfig.Builder(null, null, null).build());
|
||||
this.invocation.setProxy(mockActionProxy);
|
||||
|
||||
this.actionMapper = new DefaultActionMapper();
|
||||
this.urlHelper = new DefaultUrlHelper();
|
||||
StrutsUrlEncoder encoder = new StrutsUrlEncoder();
|
||||
this.urlHelper.setParametersStringBuilder(new StrutsParametersStringBuilder(encoder));
|
||||
this.urlHelper.setEncoder(encoder);
|
||||
this.urlHelper.setDecoder(new StrutsUrlDecoder());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user