diff --git a/jte-runtime/src/main/java/gg/jte/TemplateOutput.java b/jte-runtime/src/main/java/gg/jte/TemplateOutput.java index 0f7ec8bf..ad6e5885 100644 --- a/jte-runtime/src/main/java/gg/jte/TemplateOutput.java +++ b/jte-runtime/src/main/java/gg/jte/TemplateOutput.java @@ -21,7 +21,7 @@ default void writeUserContent(String value) { default void writeUserContent(Enum value) { if (value != null) { - writeContent(value.toString()); + writeContent(value.name()); } } diff --git a/jte/src/test/java/gg/jte/output/AbstractTemplateOutputTest.java b/jte/src/test/java/gg/jte/output/AbstractTemplateOutputTest.java index 99582787..d67aec55 100644 --- a/jte/src/test/java/gg/jte/output/AbstractTemplateOutputTest.java +++ b/jte/src/test/java/gg/jte/output/AbstractTemplateOutputTest.java @@ -84,6 +84,12 @@ void writeEnum() { thenOutputIs("Html"); } + @Test + void writeEnum_nameIsUsed() { + output.writeUserContent(EnumWithToStringOverride.Volvo); + thenOutputIs("Volvo"); + } + @Test void writeNull() { output.writeUserContent((String) null); @@ -141,4 +147,17 @@ void writer_unusedMethodsAreNoops() throws IOException { output.getWriter().flush(); output.getWriter().close(); } + + public enum EnumWithToStringOverride { + Volvo, + Saab, + Fiat, + Audi, + ; + + @Override + public String toString() { + return name() + " is a fine car!"; + } + } }