about summary refs log tree commit diff stats
path: root/el/document_test.go
blob: c525f30d2af6b8730f9a96ce412e61189abb5dfc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
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/")))
	})
}