about summary refs log tree commit diff stats
path: root/gomponents_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'gomponents_test.go')
-rw-r--r--gomponents_test.go22
1 files changed, 22 insertions, 0 deletions
diff --git a/gomponents_test.go b/gomponents_test.go
index 0e397cb..db9256c 100644
--- a/gomponents_test.go
+++ b/gomponents_test.go
@@ -133,3 +133,25 @@ func TestWrite(t *testing.T) {
 		}
 	})
 }
+
+func TestGroup(t *testing.T) {
+	t.Run("groups multiple nodes into one", func(t *testing.T) {
+		children := []g.Node{g.El("div", g.Attr("id", "hat")), g.El("div")}
+		e := g.El("div", g.Attr("class", "foo"), g.El("div"), g.Group(children))
+		assert.Equal(t, `<div class="foo"><div /><div id="hat" /><div /></div>`, e)
+	})
+
+	t.Run("panics on direct render", func(t *testing.T) {
+		e := g.Group(nil)
+		panicced := false
+		defer func() {
+			if err := recover(); err != nil {
+				panicced = true
+			}
+		}()
+		e.Render()
+		if !panicced {
+			t.FailNow()
+		}
+	})
+}