about summary refs log tree commit diff stats
path: root/gomponents_test.go
diff options
context:
space:
mode:
authorMarkus Wüstenberg2020-10-22 09:07:57 +0200
committerGitHub2020-10-22 09:07:57 +0200
commit6d2fb0eeb15d6b9774f127517d160137251264a4 (patch)
treed571a516f25e85dd4086521d73a419573d776df2 /gomponents_test.go
parentf2a2b949704e2faa7117dd33aae8da551a4baf8e (diff)
downloadgomponents-6d2fb0eeb15d6b9774f127517d160137251264a4.tar.lz
gomponents-6d2fb0eeb15d6b9774f127517d160137251264a4.tar.zst
gomponents-6d2fb0eeb15d6b9774f127517d160137251264a4.zip
Add Group function to group Nodes (#29)
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()
+		}
+	})
+}