Skip to content

Commit bba55bf

Browse files
committed
Merge branch '1.1.x'
2 parents 72bb33b + 5d5db8a commit bba55bf

File tree

5 files changed

+42
-6
lines changed

5 files changed

+42
-6
lines changed

spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/thymeleaf/ThymeleafAutoConfiguration.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
3030
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
3131
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
32+
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
3233
import org.springframework.boot.autoconfigure.web.WebMvcAutoConfiguration;
3334
import org.springframework.boot.context.properties.EnableConfigurationProperties;
3435
import org.springframework.context.annotation.Bean;
@@ -163,6 +164,7 @@ public SpringSecurityDialect securityDialect() {
163164

164165
@Configuration
165166
@ConditionalOnClass({ Servlet.class })
167+
@ConditionalOnWebApplication
166168
protected static class ThymeleafViewResolverConfiguration {
167169

168170
@Autowired

spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/thymeleaf/ThymeleafAutoConfigurationTests.java

Lines changed: 36 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,12 @@
1616

1717
package org.springframework.boot.autoconfigure.thymeleaf;
1818

19+
import static org.hamcrest.Matchers.containsString;
20+
import static org.junit.Assert.assertArrayEquals;
21+
import static org.junit.Assert.assertEquals;
22+
import static org.junit.Assert.assertThat;
23+
import static org.junit.Assert.assertTrue;
24+
1925
import java.io.File;
2026
import java.util.Collections;
2127
import java.util.Locale;
@@ -30,6 +36,7 @@
3036
import org.springframework.mock.web.MockHttpServletResponse;
3137
import org.springframework.mock.web.MockServletContext;
3238
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
39+
import org.springframework.web.servlet.ViewResolver;
3340
import org.springframework.web.servlet.support.RequestContext;
3441
import org.thymeleaf.TemplateEngine;
3542
import org.thymeleaf.context.Context;
@@ -38,18 +45,14 @@
3845
import org.thymeleaf.templateresolver.ITemplateResolver;
3946
import org.thymeleaf.templateresolver.TemplateResolver;
4047

41-
import static org.junit.Assert.assertArrayEquals;
42-
import static org.junit.Assert.assertEquals;
43-
import static org.junit.Assert.assertTrue;
44-
4548
/**
4649
* Tests for {@link ThymeleafAutoConfiguration}.
4750
*
4851
* @author Dave Syer
4952
*/
5053
public class ThymeleafAutoConfigurationTests {
5154

52-
private AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
55+
private AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
5356

5457
@After
5558
public void close() {
@@ -148,4 +151,32 @@ public void useDataDialect() throws Exception {
148151
assertEquals("<html><body data-foo=\"bar\"></body></html>", result);
149152
}
150153

154+
@Test
155+
public void renderTemplate() throws Exception {
156+
this.context.register(ThymeleafAutoConfiguration.class,
157+
PropertyPlaceholderAutoConfiguration.class);
158+
this.context.refresh();
159+
TemplateEngine engine = this.context.getBean(TemplateEngine.class);
160+
Context attrs = new Context(Locale.UK, Collections.singletonMap("foo", "bar"));
161+
String result = engine.process("home", attrs);
162+
assertEquals("<html><body>bar</body></html>", result);
163+
}
164+
165+
@Test
166+
public void renderNonWebAppTemplate() throws Exception {
167+
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(
168+
ThymeleafAutoConfiguration.class,
169+
PropertyPlaceholderAutoConfiguration.class);
170+
assertEquals(0, context.getBeanNamesForType(ViewResolver.class).length);
171+
try {
172+
TemplateEngine engine = context.getBean(TemplateEngine.class);
173+
Context attrs = new Context(Locale.UK, Collections.singletonMap("greeting", "Hello World"));
174+
String result = engine.process("message", attrs);
175+
assertThat(result, containsString("Hello World"));
176+
}
177+
finally {
178+
context.close();
179+
}
180+
}
181+
151182
}

spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/web/BasicErrorControllerIntegrationTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,8 @@ public void testBindingExceptionForMachineClient() throws Exception {
8181
"http://localhost:" + this.port + "/bind", Map.class);
8282
String resp = entity.getBody().toString();
8383
assertThat(resp, containsString("Error count: 1"));
84-
assertThat(resp, containsString("errors=[{codes="));
84+
assertThat(resp, containsString("errors=[{"));
85+
assertThat(resp, containsString("codes=["));
8586
assertThat(resp, containsString("org.springframework.validation.BindException"));
8687
}
8788

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<html><body th:text="${foo}">Home</body></html>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<html><body>Message: <span th:text="${greeting}">Hello</span></body></html>

0 commit comments

Comments
 (0)