about summary refs log tree commit diff stats
path: root/el/document_test.go
diff options
context:
space:
mode:
authorMarkus Wüstenberg2020-09-25 09:57:47 +0200
committerGitHub2020-09-25 09:57:47 +0200
commit5da578cfdf717ff1465f729194c8192a00412881 (patch)
tree9bd1c59936f81efeb4d96edd40043301a97ed606 /el/document_test.go
parent77b64b13028d94a54491e606eed4dc759ec46dd2 (diff)
downloadgomponents-5da578cfdf717ff1465f729194c8192a00412881.tar.lz
gomponents-5da578cfdf717ff1465f729194c8192a00412881.tar.zst
gomponents-5da578cfdf717ff1465f729194c8192a00412881.zip
Group element helpers in different files (#21)
According to the section at https://developer.mozilla.org/en-US/docs/Web/HTML/Element
Diffstat (limited to 'el/document_test.go')
-rw-r--r--el/document_test.go63
1 files changed, 63 insertions, 0 deletions
diff --git a/el/document_test.go b/el/document_test.go
new file mode 100644
index 0000000..c525f30
--- /dev/null
+++ b/el/document_test.go
@@ -0,0 +1,63 @@
+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"))
+	})
+}
+
+func TestMeta(t *testing.T) {
+	t.Run("returns a meta element", func(t *testing.T) {
+		assert.Equal(t, `<meta charset="utf-8" />`, el.Meta(g.Attr("charset", "utf-8")))
+	})
+}
+
+func TestLink(t *testing.T) {
+	t.Run("returns a link element", func(t *testing.T) {
+		assert.Equal(t, `<link rel="stylesheet" />`, el.Link(g.Attr("rel", "stylesheet")))
+	})
+}
+
+func TestStyle(t *testing.T) {
+	t.Run("returns a style element", func(t *testing.T) {
+		assert.Equal(t, `<style type="text/css" />`, el.Style(g.Attr("type", "text/css")))
+	})
+}
+
+func TestBase(t *testing.T) {
+	t.Run("returns a base element", func(t *testing.T) {
+		assert.Equal(t, `<base href="/hat/" />`, el.Base(g.Attr("href", "/hat/")))
+	})
+}