all repos — gomponents @ 4d9f1c2aedf43dbd0989f4c8165a18ed6a5a33ed

HTML components in pure Go

Add package el with element helpers (#8)

Markus Wüstenberg
commit

4d9f1c2aedf43dbd0989f4c8165a18ed6a5a33ed

parent

f7812a9f06d2b97f413b6b33deecba170e05d184

1 file changed, 39 insertions(+), 0 deletions(-)

changed files
A el/elements_test.go
@@ -0,0 +1,39 @@
+package el_test + +import ( + "testing" + + g "github.com/maragudk/gomponents" + "github.com/maragudk/gomponents/assert" + "github.com/maragudk/gomponents/el" +) + +func TestDocument(t *testing.T) { + t.Run("returns doctype and children", func(t *testing.T) { + assert.Equal(t, `<!doctype html><html/>`, el.Document(g.El("html"))) + }) +} + +func TestHTML(t *testing.T) { + t.Run("returns an html element", func(t *testing.T) { + assert.Equal(t, "<html><div/><span/></html>", el.HTML(g.El("div"), g.El("span"))) + }) +} + +func TestHead(t *testing.T) { + t.Run("returns a head element", func(t *testing.T) { + assert.Equal(t, "<head><title/><link/></head>", el.Head(g.El("title"), g.El("link"))) + }) +} + +func TestBody(t *testing.T) { + t.Run("returns a body element", func(t *testing.T) { + assert.Equal(t, "<body><div/><span/></body>", el.Body(g.El("div"), g.El("span"))) + }) +} + +func TestTitle(t *testing.T) { + t.Run("returns a title element with text content", func(t *testing.T) { + assert.Equal(t, "<title>hat</title>", el.Title("hat")) + }) +}