|
|
|
@ -69,7 +69,7 @@ public class FreeMarkerAutoConfigurationServletIntegrationTests {
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void defaultConfiguration() {
|
|
|
|
|
registerAndRefreshContext();
|
|
|
|
|
load();
|
|
|
|
|
assertThat(this.context.getBean(FreeMarkerViewResolver.class)).isNotNull();
|
|
|
|
|
assertThat(this.context.getBean(FreeMarkerConfigurer.class)).isNotNull();
|
|
|
|
|
assertThat(this.context.getBean(FreeMarkerConfig.class)).isNotNull();
|
|
|
|
@ -79,7 +79,7 @@ public class FreeMarkerAutoConfigurationServletIntegrationTests {
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void defaultViewResolution() throws Exception {
|
|
|
|
|
registerAndRefreshContext();
|
|
|
|
|
load();
|
|
|
|
|
MockHttpServletResponse response = render("home");
|
|
|
|
|
String result = response.getContentAsString();
|
|
|
|
|
assertThat(result).contains("home");
|
|
|
|
@ -88,7 +88,7 @@ public class FreeMarkerAutoConfigurationServletIntegrationTests {
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void customContentType() throws Exception {
|
|
|
|
|
registerAndRefreshContext("spring.freemarker.contentType:application/json");
|
|
|
|
|
load("spring.freemarker.contentType:application/json");
|
|
|
|
|
MockHttpServletResponse response = render("home");
|
|
|
|
|
String result = response.getContentAsString();
|
|
|
|
|
assertThat(result).contains("home");
|
|
|
|
@ -97,7 +97,7 @@ public class FreeMarkerAutoConfigurationServletIntegrationTests {
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void customPrefix() throws Exception {
|
|
|
|
|
registerAndRefreshContext("spring.freemarker.prefix:prefix/");
|
|
|
|
|
load("spring.freemarker.prefix:prefix/");
|
|
|
|
|
MockHttpServletResponse response = render("prefixed");
|
|
|
|
|
String result = response.getContentAsString();
|
|
|
|
|
assertThat(result).contains("prefixed");
|
|
|
|
@ -105,7 +105,7 @@ public class FreeMarkerAutoConfigurationServletIntegrationTests {
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void customSuffix() throws Exception {
|
|
|
|
|
registerAndRefreshContext("spring.freemarker.suffix:.freemarker");
|
|
|
|
|
load("spring.freemarker.suffix:.freemarker");
|
|
|
|
|
MockHttpServletResponse response = render("suffixed");
|
|
|
|
|
String result = response.getContentAsString();
|
|
|
|
|
assertThat(result).contains("suffixed");
|
|
|
|
@ -113,7 +113,7 @@ public class FreeMarkerAutoConfigurationServletIntegrationTests {
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void customTemplateLoaderPath() throws Exception {
|
|
|
|
|
registerAndRefreshContext(
|
|
|
|
|
load(
|
|
|
|
|
"spring.freemarker.templateLoaderPath:classpath:/custom-templates/");
|
|
|
|
|
MockHttpServletResponse response = render("custom");
|
|
|
|
|
String result = response.getContentAsString();
|
|
|
|
@ -122,14 +122,14 @@ public class FreeMarkerAutoConfigurationServletIntegrationTests {
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void disableCache() {
|
|
|
|
|
registerAndRefreshContext("spring.freemarker.cache:false");
|
|
|
|
|
load("spring.freemarker.cache:false");
|
|
|
|
|
assertThat(this.context.getBean(FreeMarkerViewResolver.class).getCacheLimit())
|
|
|
|
|
.isEqualTo(0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void allowSessionOverride() {
|
|
|
|
|
registerAndRefreshContext("spring.freemarker.allow-session-override:true");
|
|
|
|
|
load("spring.freemarker.allow-session-override:true");
|
|
|
|
|
AbstractTemplateViewResolver viewResolver = this.context
|
|
|
|
|
.getBean(FreeMarkerViewResolver.class);
|
|
|
|
|
assertThat(ReflectionTestUtils.getField(viewResolver, "allowSessionOverride"))
|
|
|
|
@ -139,14 +139,14 @@ public class FreeMarkerAutoConfigurationServletIntegrationTests {
|
|
|
|
|
@SuppressWarnings("deprecation")
|
|
|
|
|
@Test
|
|
|
|
|
public void customFreeMarkerSettings() {
|
|
|
|
|
registerAndRefreshContext("spring.freemarker.settings.boolean_format:yup,nope");
|
|
|
|
|
load("spring.freemarker.settings.boolean_format:yup,nope");
|
|
|
|
|
assertThat(this.context.getBean(FreeMarkerConfigurer.class).getConfiguration()
|
|
|
|
|
.getSetting("boolean_format")).isEqualTo("yup,nope");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void renderTemplate() throws Exception {
|
|
|
|
|
registerAndRefreshContext();
|
|
|
|
|
load();
|
|
|
|
|
FreeMarkerConfigurer freemarker = this.context
|
|
|
|
|
.getBean(FreeMarkerConfigurer.class);
|
|
|
|
|
StringWriter writer = new StringWriter();
|
|
|
|
@ -156,13 +156,13 @@ public class FreeMarkerAutoConfigurationServletIntegrationTests {
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void registerResourceHandlingFilterDisabledByDefault() {
|
|
|
|
|
registerAndRefreshContext();
|
|
|
|
|
load();
|
|
|
|
|
assertThat(this.context.getBeansOfType(FilterRegistrationBean.class)).isEmpty();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void registerResourceHandlingFilterOnlyIfResourceChainIsEnabled() {
|
|
|
|
|
registerAndRefreshContext("spring.resources.chain.enabled:true");
|
|
|
|
|
load("spring.resources.chain.enabled:true");
|
|
|
|
|
FilterRegistrationBean<?> registration = this.context
|
|
|
|
|
.getBean(FilterRegistrationBean.class);
|
|
|
|
|
assertThat(registration.getFilter())
|
|
|
|
@ -175,7 +175,7 @@ public class FreeMarkerAutoConfigurationServletIntegrationTests {
|
|
|
|
|
@SuppressWarnings("rawtypes")
|
|
|
|
|
public void registerResourceHandlingFilterWithOtherRegistrationBean() {
|
|
|
|
|
// gh-14897
|
|
|
|
|
registerAndRefreshContext(FilterRegistrationConfiguration.class,
|
|
|
|
|
load(FilterRegistrationConfiguration.class,
|
|
|
|
|
"spring.resources.chain.enabled:true");
|
|
|
|
|
Map<String, FilterRegistrationBean> beans = this.context
|
|
|
|
|
.getBeansOfType(FilterRegistrationBean.class);
|
|
|
|
@ -187,11 +187,11 @@ public class FreeMarkerAutoConfigurationServletIntegrationTests {
|
|
|
|
|
EnumSet.of(DispatcherType.REQUEST, DispatcherType.ERROR));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void registerAndRefreshContext(String... env) {
|
|
|
|
|
registerAndRefreshContext(BaseConfiguration.class, env);
|
|
|
|
|
private void load(String... env) {
|
|
|
|
|
load(BaseConfiguration.class, env);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void registerAndRefreshContext(Class<?> config, String... env) {
|
|
|
|
|
private void load(Class<?> config, String... env) {
|
|
|
|
|
this.context = new AnnotationConfigWebApplicationContext();
|
|
|
|
|
this.context.setServletContext(new MockServletContext());
|
|
|
|
|
TestPropertyValues.of(env).applyTo(this.context);
|
|
|
|
|