Browse Source

Polishing

pull/33350/head
Sam Brannen 2 years ago
parent
commit
5f765fc8ce
  1. 64
      spring-webmvc/src/test/java/org/springframework/web/servlet/config/annotation/ViewResolutionIntegrationTests.java

64
spring-webmvc/src/test/java/org/springframework/web/servlet/config/annotation/ViewResolutionIntegrationTests.java

@ -25,8 +25,7 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.servlet.DispatcherServlet; import org.springframework.web.servlet.DispatcherServlet;
import org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer; import org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer;
@ -48,16 +47,25 @@ import static org.assertj.core.api.Assertions.assertThatRuntimeException;
*/ */
class ViewResolutionIntegrationTests { class ViewResolutionIntegrationTests {
private static final String EXPECTED_BODY = "<html><body>Hello World!</body></html>";
@Test @Test
void freemarker() throws Exception { void freemarker() throws Exception {
MockHttpServletResponse response = runTest(FreeMarkerWebConfig.class); MockHttpServletResponse response = runTest(FreeMarkerWebConfig.class);
assertThat(response.getContentAsString()).isEqualTo("<html><body>Hello World!</body></html>"); assertThat(response.getContentAsString()).isEqualTo(EXPECTED_BODY);
}
@Test // SPR-12013
void freemarkerWithExistingViewResolver() throws Exception {
MockHttpServletResponse response = runTest(ExistingViewResolverConfig.class);
assertThat(response.getContentAsString()).isEqualTo(EXPECTED_BODY);
} }
@Test @Test
void groovyMarkup() throws Exception { void groovyMarkup() throws Exception {
MockHttpServletResponse response = runTest(GroovyMarkupWebConfig.class); MockHttpServletResponse response = runTest(GroovyMarkupWebConfig.class);
assertThat(response.getContentAsString()).isEqualTo("<html><body>Hello World!</body></html>"); assertThat(response.getContentAsString()).isEqualTo(EXPECTED_BODY);
} }
@Test @Test
@ -74,14 +82,6 @@ class ViewResolutionIntegrationTests {
.withMessageContaining("In addition to a Groovy markup view resolver "); .withMessageContaining("In addition to a Groovy markup view resolver ");
} }
// SPR-12013
@Test
void existingViewResolver() throws Exception {
MockHttpServletResponse response = runTest(ExistingViewResolverConfig.class);
assertThat(response.getContentAsString()).isEqualTo("<html><body>Hello World!</body></html>");
}
private MockHttpServletResponse runTest(Class<?> configClass) throws ServletException, IOException { private MockHttpServletResponse runTest(Class<?> configClass) throws ServletException, IOException {
String basePath = "org/springframework/web/servlet/config/annotation"; String basePath = "org/springframework/web/servlet/config/annotation";
@ -104,7 +104,7 @@ class ViewResolutionIntegrationTests {
@Controller @Controller
static class SampleController { static class SampleController {
@RequestMapping(value = "/", method = RequestMethod.GET) @GetMapping
public String sample(ModelMap model) { public String sample(ModelMap model) {
model.addAttribute("hello", "Hello World!"); model.addAttribute("hello", "Hello World!");
return "index"; return "index";
@ -136,6 +136,25 @@ class ViewResolutionIntegrationTests {
} }
} }
/**
* Test @EnableWebMvc in the presence of a pre-existing ViewResolver.
*/
@Configuration
static class ExistingViewResolverConfig extends AbstractWebConfig {
@Bean
public FreeMarkerViewResolver freeMarkerViewResolver() {
return new FreeMarkerViewResolver("", ".ftl");
}
@Bean
public FreeMarkerConfigurer freeMarkerConfigurer() {
FreeMarkerConfigurer configurer = new FreeMarkerConfigurer();
configurer.setTemplateLoaderPath("/WEB-INF/");
return configurer;
}
}
@Configuration @Configuration
static class GroovyMarkupWebConfig extends AbstractWebConfig { static class GroovyMarkupWebConfig extends AbstractWebConfig {
@ -170,23 +189,4 @@ class ViewResolutionIntegrationTests {
} }
} }
/**
* Test @EnableWebMvc in the presence of pre-existing ViewResolver.
*/
@Configuration
static class ExistingViewResolverConfig extends AbstractWebConfig {
@Bean
public FreeMarkerViewResolver freeMarkerViewResolver() {
return new FreeMarkerViewResolver("", ".ftl");
}
@Bean
public FreeMarkerConfigurer freeMarkerConfigurer() {
FreeMarkerConfigurer configurer = new FreeMarkerConfigurer();
configurer.setTemplateLoaderPath("/WEB-INF/");
return configurer;
}
}
} }

Loading…
Cancel
Save