diff options
Diffstat (limited to 'attr')
-rw-r--r-- | attr/forms.go | 15 | ||||
-rw-r--r-- | attr/forms_test.go | 16 |
2 files changed, 31 insertions, 0 deletions
diff --git a/attr/forms.go b/attr/forms.go new file mode 100644 index 0000000..b3eec05 --- /dev/null +++ b/attr/forms.go @@ -0,0 +1,15 @@ +package attr + +import ( + g "github.com/maragudk/gomponents" +) + +// Placeholder returns an attribute with name "placeholder" and the given value. +func Placeholder(v string) g.Node { + return g.Attr("placeholder", v) +} + +// Required returns an attribute with name "required". +func Required() g.Node { + return g.Attr("required") +} diff --git a/attr/forms_test.go b/attr/forms_test.go new file mode 100644 index 0000000..3ff077b --- /dev/null +++ b/attr/forms_test.go @@ -0,0 +1,16 @@ +package attr_test + +import ( + "testing" + + g "github.com/maragudk/gomponents" + "github.com/maragudk/gomponents/assert" + "github.com/maragudk/gomponents/attr" +) + +func TestForms(t *testing.T) { + t.Run("adds placeholder and required attributes", func(t *testing.T) { + e := g.El("input", attr.Placeholder("hat"), attr.Required()) + assert.Equal(t, `<input placeholder="hat" required/>`, e) + }) +} |