about summary refs log tree commit diff stats
path: root/attr/boolean_test.go
diff options
context:
space:
mode:
authorMarkus Wüstenberg2020-10-28 16:59:04 +0100
committerGitHub2020-10-28 16:59:04 +0100
commit13701c4f668eba27956a8ac554a1fe272245d210 (patch)
treeb123bbbedaa1fe8f666ce3981fead6e884dd0b74 /attr/boolean_test.go
parent18e90339fcac48806a5777766aeb256be2b8c4bc (diff)
downloadgomponents-13701c4f668eba27956a8ac554a1fe272245d210.tar.lz
gomponents-13701c4f668eba27956a8ac554a1fe272245d210.tar.zst
gomponents-13701c4f668eba27956a8ac554a1fe272245d210.zip
Add attribute helpers (#35)
Also refactor tests to be table-driven, for readability.
Diffstat (limited to 'attr/boolean_test.go')
-rw-r--r--attr/boolean_test.go32
1 files changed, 32 insertions, 0 deletions
diff --git a/attr/boolean_test.go b/attr/boolean_test.go
new file mode 100644
index 0000000..4e6bb37
--- /dev/null
+++ b/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)
+		})
+	}
+}