about summary refs log tree commit diff stats
path: root/el/simple_test.go
diff options
context:
space:
mode:
authorMarkus Wüstenberg2020-10-28 16:16:18 +0100
committerGitHub2020-10-28 16:16:18 +0100
commit18e90339fcac48806a5777766aeb256be2b8c4bc (patch)
tree7b5bd103e15db8a4ed81981e6b83b0d547d34540 /el/simple_test.go
parent8f17dba6f1268ab8c8810d7940d1484315cdb825 (diff)
downloadgomponents-18e90339fcac48806a5777766aeb256be2b8c4bc.tar.lz
gomponents-18e90339fcac48806a5777766aeb256be2b8c4bc.tar.zst
gomponents-18e90339fcac48806a5777766aeb256be2b8c4bc.zip
Add element helpers and refactor (#34)
This change adds a lot of element helpers, and refactors:
- helpers into simple, text, and other helpers
- most tests into table-driven tests, so they're easier to read

Thanks to @oderwat for pushing me to improve the tests. 😉
Diffstat (limited to 'el/simple_test.go')
-rw-r--r--el/simple_test.go84
1 files changed, 84 insertions, 0 deletions
diff --git a/el/simple_test.go b/el/simple_test.go
new file mode 100644
index 0000000..d388e1e
--- /dev/null
+++ b/el/simple_test.go
@@ -0,0 +1,84 @@
+package el_test
+
+import (
+	"fmt"
+	"testing"
+
+	g "github.com/maragudk/gomponents"
+	"github.com/maragudk/gomponents/assert"
+	"github.com/maragudk/gomponents/el"
+)
+
+func TestSimpleElements(t *testing.T) {
+	cases := map[string]func(...g.Node) g.NodeFunc{
+		"address":    el.Address,
+		"area":       el.Area,
+		"article":    el.Article,
+		"aside":      el.Aside,
+		"audio":      el.Audio,
+		"base":       el.Base,
+		"blockquote": el.BlockQuote,
+		"body":       el.Body,
+		"br":         el.Br,
+		"button":     el.Button,
+		"canvas":     el.Canvas,
+		"cite":       el.Cite,
+		"code":       el.Code,
+		"col":        el.Col,
+		"colgroup":   el.ColGroup,
+		"data":       el.Data,
+		"datalist":   el.DataList,
+		"details":    el.Details,
+		"dialog":     el.Dialog,
+		"div":        el.Div,
+		"dl":         el.Dl,
+		"embed":      el.Embed,
+		"fieldset":   el.FieldSet,
+		"figure":     el.Figure,
+		"footer":     el.Footer,
+		"head":       el.Head,
+		"header":     el.Header,
+		"hgroup":     el.HGroup,
+		"hr":         el.Hr,
+		"html":       el.HTML,
+		"iframe":     el.IFrame,
+		"legend":     el.Legend,
+		"li":         el.Li,
+		"link":       el.Link,
+		"main":       el.Main,
+		"menu":       el.Menu,
+		"meta":       el.Meta,
+		"meter":      el.Meter,
+		"nav":        el.Nav,
+		"noscript":   el.NoScript,
+		"object":     el.Object,
+		"ol":         el.Ol,
+		"optgroup":   el.OptGroup,
+		"p":          el.P,
+		"param":      el.Param,
+		"picture":    el.Picture,
+		"pre":        el.Pre,
+		"script":     el.Script,
+		"section":    el.Section,
+		"source":     el.Source,
+		"span":       el.Span,
+		"style":      el.Style,
+		"summary":    el.Summary,
+		"table":      el.Table,
+		"tbody":      el.TBody,
+		"td":         el.Td,
+		"tfoot":      el.TFoot,
+		"th":         el.Th,
+		"thead":      el.THead,
+		"tr":         el.Tr,
+		"ul":         el.Ul,
+		"wbr":        el.Wbr,
+	}
+
+	for name, fn := range cases {
+		t.Run(fmt.Sprintf("should output %v", name), func(t *testing.T) {
+			n := fn(g.Attr("id", "hat"))
+			assert.Equal(t, fmt.Sprintf(`<%v id="hat" />`, name), n)
+		})
+	}
+}