Add attribute helpers (#35) Also refactor tests to be table-driven, for readability.
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) + }) + } +}