all repos — gomponents @ 13701c4f668eba27956a8ac554a1fe272245d210

HTML components in pure Go

Add attribute helpers (#35) Also refactor tests to be table-driven, for readability.

Markus Wüstenberg
commit

13701c4f668eba27956a8ac554a1fe272245d210

parent

18e90339fcac48806a5777766aeb256be2b8c4bc

1 file changed, 32 insertions(+), 0 deletions(-)

changed files
A attr/boolean_test.go
@@ -0,0 +1,32 @@
+package attr_test + +import ( + "fmt" + "testing" + + g "github.com/maragudk/gomponents" + "github.com/maragudk/gomponents/assert" + "github.com/maragudk/gomponents/attr" +) + +func TestBooleanAttributes(t *testing.T) { + cases := map[string]func() g.Node{ + "async": attr.Async, + "autofocus": attr.AutoFocus, + "autoplay": attr.AutoPlay, + "controls": attr.Controls, + "defer": attr.Defer, + "disabled": attr.Disabled, + "multiple": attr.Multiple, + "readonly": attr.ReadOnly, + "required": attr.Required, + "selected": attr.Selected, + } + + for name, fn := range cases { + t.Run(fmt.Sprintf("should output %v", name), func(t *testing.T) { + n := g.El("div", fn()) + assert.Equal(t, fmt.Sprintf(`<div %v />`, name), n) + }) + } +}