|  | 
| 1 | 1 | package j2html.tags; | 
| 2 | 2 | 
 | 
|  | 3 | +import j2html.Config; | 
|  | 4 | +import j2html.model.DynamicHrefAttribute; | 
|  | 5 | +import org.junit.Test; | 
|  | 6 | +import static j2html.TagCreator.a; | 
| 3 | 7 | import static j2html.TagCreator.body; | 
| 4 | 8 | import static j2html.TagCreator.div; | 
| 5 | 9 | import static j2html.TagCreator.footer; | 
|  | 10 | +import static j2html.TagCreator.form; | 
| 6 | 11 | import static j2html.TagCreator.header; | 
| 7 | 12 | import static j2html.TagCreator.html; | 
| 8 | 13 | import static j2html.TagCreator.iff; | 
|  | 
| 13 | 18 | import static j2html.TagCreator.tag; | 
| 14 | 19 | import static org.hamcrest.MatcherAssert.assertThat; | 
| 15 | 20 | import static org.hamcrest.Matchers.is; | 
| 16 |  | -import j2html.Config; | 
| 17 |  | -import j2html.model.DynamicHrefAttribute; | 
| 18 |  | -import org.junit.Test; | 
| 19 | 21 | 
 | 
| 20 | 22 | public class TagTest { | 
| 21 | 23 | 
 | 
| @@ -98,11 +100,24 @@ public void testDynamicAttribute() throws Exception { | 
| 98 | 100 |         ContainerTag testTagWithAttrValueNull = new ContainerTag("a").attr(new DynamicHrefAttribute()); | 
| 99 | 101 |         assertThat(testTagWithAttrValueNull.render(), is("<a href=\"/\"></a>")); | 
| 100 | 102 |     } | 
| 101 |  | -     | 
|  | 103 | + | 
| 102 | 104 |     @Test | 
| 103 | 105 |     public void testDynamicAttributeReplacement() throws Exception { | 
| 104 | 106 |         ContainerTag testTagWithAttrValueNull = new ContainerTag("a").attr("href", "/link").attr(new DynamicHrefAttribute()); | 
| 105 | 107 |         assertThat(testTagWithAttrValueNull.render(), is("<a href=\"/\"></a>")); | 
| 106 | 108 |     } | 
| 107 | 109 | 
 | 
|  | 110 | +    @Test | 
|  | 111 | +    public void testParameterNameReflectionAttributes() throws Exception { | 
|  | 112 | +        String expectedAnchor = "<a href=\"http://example.com\">example.com</a>"; | 
|  | 113 | +        String actualAnchor = a("example.com").withAttrs(href -> "http://example.com").render(); | 
|  | 114 | +        assertThat(actualAnchor, is(expectedAnchor)); | 
|  | 115 | +        String expectedForm = "<form method=\"post\" action=\"/form-path\"><input name=\"email\" type=\"email\"><input name=\"password\" type=\"password\"></form>"; | 
|  | 116 | +        String actualForm = form().withAttrs(method -> "post", action -> "/form-path").with( | 
|  | 117 | +            input().withAttrs(name -> "email", type -> "email"), | 
|  | 118 | +            input().withAttrs(name -> "password", type -> "password") | 
|  | 119 | +        ).render(); | 
|  | 120 | +        assertThat(actualForm, is(expectedForm)); | 
|  | 121 | +    } | 
|  | 122 | + | 
| 108 | 123 | } | 
0 commit comments