|
|
@ -1,5 +1,5 @@
|
|
|
|
/*
|
|
|
|
/*
|
|
|
|
* Copyright 2012-2017 the original author or authors.
|
|
|
|
* Copyright 2012-2018 the original author or authors.
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
* you may not use this file except in compliance with the License.
|
|
|
|
* you may not use this file except in compliance with the License.
|
|
|
@ -18,8 +18,11 @@ package org.springframework.boot.autoconfigure.thymeleaf;
|
|
|
|
|
|
|
|
|
|
|
|
import java.io.File;
|
|
|
|
import java.io.File;
|
|
|
|
import java.util.Collections;
|
|
|
|
import java.util.Collections;
|
|
|
|
|
|
|
|
import java.util.EnumSet;
|
|
|
|
import java.util.Locale;
|
|
|
|
import java.util.Locale;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import javax.servlet.DispatcherType;
|
|
|
|
|
|
|
|
|
|
|
|
import nz.net.ultraq.thymeleaf.LayoutDialect;
|
|
|
|
import nz.net.ultraq.thymeleaf.LayoutDialect;
|
|
|
|
import nz.net.ultraq.thymeleaf.decorators.strategies.GroupingStrategy;
|
|
|
|
import nz.net.ultraq.thymeleaf.decorators.strategies.GroupingStrategy;
|
|
|
|
import org.junit.After;
|
|
|
|
import org.junit.After;
|
|
|
@ -37,6 +40,7 @@ import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
|
|
|
|
import org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration;
|
|
|
|
import org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration;
|
|
|
|
import org.springframework.boot.test.rule.OutputCapture;
|
|
|
|
import org.springframework.boot.test.rule.OutputCapture;
|
|
|
|
import org.springframework.boot.test.util.TestPropertyValues;
|
|
|
|
import org.springframework.boot.test.util.TestPropertyValues;
|
|
|
|
|
|
|
|
import org.springframework.boot.web.servlet.FilterRegistrationBean;
|
|
|
|
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
|
|
|
|
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
|
|
|
|
import org.springframework.context.annotation.Bean;
|
|
|
|
import org.springframework.context.annotation.Bean;
|
|
|
|
import org.springframework.context.annotation.Configuration;
|
|
|
|
import org.springframework.context.annotation.Configuration;
|
|
|
@ -61,6 +65,7 @@ import static org.hamcrest.Matchers.containsString;
|
|
|
|
* @author Eddú Meléndez
|
|
|
|
* @author Eddú Meléndez
|
|
|
|
* @author Brian Clozel
|
|
|
|
* @author Brian Clozel
|
|
|
|
* @author Kazuki Shimizu
|
|
|
|
* @author Kazuki Shimizu
|
|
|
|
|
|
|
|
* @author Artsiom Yudovin
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
public class ThymeleafServletAutoConfigurationTests {
|
|
|
|
public class ThymeleafServletAutoConfigurationTests {
|
|
|
|
|
|
|
|
|
|
|
@ -205,14 +210,18 @@ public class ThymeleafServletAutoConfigurationTests {
|
|
|
|
@Test
|
|
|
|
@Test
|
|
|
|
public void registerResourceHandlingFilterDisabledByDefault() {
|
|
|
|
public void registerResourceHandlingFilterDisabledByDefault() {
|
|
|
|
load(BaseConfiguration.class);
|
|
|
|
load(BaseConfiguration.class);
|
|
|
|
assertThat(this.context.getBeansOfType(ResourceUrlEncodingFilter.class))
|
|
|
|
assertThat(this.context.getBeansOfType(FilterRegistrationBean.class)).isEmpty();
|
|
|
|
.isEmpty();
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
@Test
|
|
|
|
public void registerResourceHandlingFilterOnlyIfResourceChainIsEnabled() {
|
|
|
|
public void registerResourceHandlingFilterOnlyIfResourceChainIsEnabled() {
|
|
|
|
load(BaseConfiguration.class, "spring.resources.chain.enabled:true");
|
|
|
|
load(BaseConfiguration.class, "spring.resources.chain.enabled:true");
|
|
|
|
assertThat(this.context.getBean(ResourceUrlEncodingFilter.class)).isNotNull();
|
|
|
|
FilterRegistrationBean<?> registration = this.context
|
|
|
|
|
|
|
|
.getBean(FilterRegistrationBean.class);
|
|
|
|
|
|
|
|
assertThat(registration.getFilter())
|
|
|
|
|
|
|
|
.isInstanceOf(ResourceUrlEncodingFilter.class);
|
|
|
|
|
|
|
|
assertThat(registration).hasFieldOrPropertyWithValue("dispatcherTypes",
|
|
|
|
|
|
|
|
EnumSet.of(DispatcherType.REQUEST, DispatcherType.ERROR));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
@Test
|
|
|
|