Browse Source

Fix DefaultMockMvcBuilder fluent API generic type

Changed upper bound of generic parameter for DefaultMockMvcBuilder from
MockMvcBuilder to DefaultMockMvcBuilder to allow for ongoing method
chaining in the fluent API style.

Issue: SPR-10277
pull/244/merge
Wesley Hall 13 years ago committed by Rossen Stoyanchev
parent
commit
fbac428e23
  1. 2
      spring-test-mvc/src/main/java/org/springframework/test/web/servlet/setup/DefaultMockMvcBuilder.java
  2. 43
      spring-test-mvc/src/test/java/org/springframework/test/web/servlet/setup/Spr10277Tests.java

2
spring-test-mvc/src/main/java/org/springframework/test/web/servlet/setup/DefaultMockMvcBuilder.java

@ -42,7 +42,7 @@ import org.springframework.web.servlet.DispatcherServlet; @@ -42,7 +42,7 @@ import org.springframework.web.servlet.DispatcherServlet;
* @author Rob Winch
* @since 3.2
*/
public class DefaultMockMvcBuilder<Self extends MockMvcBuilder> extends MockMvcBuilderSupport
public class DefaultMockMvcBuilder<Self extends DefaultMockMvcBuilder> extends MockMvcBuilderSupport
implements MockMvcBuilder {
private final WebApplicationContext webAppContext;

43
spring-test-mvc/src/test/java/org/springframework/test/web/servlet/setup/Spr10277Tests.java

@ -0,0 +1,43 @@ @@ -0,0 +1,43 @@
package org.springframework.test.web.servlet.setup;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.web.WebAppConfiguration;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.filter.CharacterEncodingFilter;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
/**
* Test for SPR-10277 (Multiple method chaining when building MockMvc).
*
* @author Wesley Hall
*/
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration
public class Spr10277Tests {
@Autowired
private WebApplicationContext wac;
@Test
public void chainMultiple() {
MockMvcBuilders
.webAppContextSetup(wac)
.addFilter(new CharacterEncodingFilter() )
.defaultRequest(get("/").contextPath("/mywebapp"))
.build();
}
@Configuration
@EnableWebMvc
static class WebConfig extends WebMvcConfigurerAdapter {
}
}
Loading…
Cancel
Save