From da76ee0d2b77fca2ae42e355dd25f16b59a2c8ac Mon Sep 17 00:00:00 2001 From: Oliver Becker Date: Sat, 24 Apr 2021 21:52:50 +0200 Subject: [PATCH] Fix indent of tags without tag name when using renderFormatted() (#174) https://github.com/tipsy/j2html/issues/173 Off topic: Set execute flag on mvnw --- .../main/java/j2html/tags/ContainerTag.java | 3 +-- .../java/j2html/tags/RenderFormattedTest.java | 19 +++++++++++++++++++ mvnw | 0 3 files changed, 20 insertions(+), 2 deletions(-) mode change 100644 => 100755 mvnw diff --git a/library/src/main/java/j2html/tags/ContainerTag.java b/library/src/main/java/j2html/tags/ContainerTag.java index b780fd4..36fbd56 100644 --- a/library/src/main/java/j2html/tags/ContainerTag.java +++ b/library/src/main/java/j2html/tags/ContainerTag.java @@ -181,7 +181,6 @@ public class ContainerTag> extends Tag { if (this.isSelfFormattingTag()) { c.render(sb); } else { - indent(sb, lvl-1); ((ContainerTag) c).renderFormatted(lvl-1, sb); } } @@ -197,7 +196,7 @@ public class ContainerTag> extends Tag { lvl--; } } - if (!this.isSelfFormattingTag()) { + if (hasTagName() && !this.isSelfFormattingTag()) { indent(sb, lvl); } renderCloseTag(sb); diff --git a/library/src/test/java/j2html/tags/RenderFormattedTest.java b/library/src/test/java/j2html/tags/RenderFormattedTest.java index 3d52bbb..cc01995 100644 --- a/library/src/test/java/j2html/tags/RenderFormattedTest.java +++ b/library/src/test/java/j2html/tags/RenderFormattedTest.java @@ -67,4 +67,23 @@ public class RenderFormattedTest { )); } + @Test + public void testFormattedTags_nestedEach() throws Exception { + assertThat(div(ul(each(asList(1, 2, 3), i -> li("Number " + i)))).renderFormatted(), is( + "
\n" + + "
    \n" + + "
  • \n" + + " Number 1\n" + + "
  • \n" + + "
  • \n" + + " Number 2\n" + + "
  • \n" + + "
  • \n" + + " Number 3\n" + + "
  • \n" + + "
\n" + + "
\n" + )); + } + } diff --git a/mvnw b/mvnw old mode 100644 new mode 100755