about summary refs log tree commit diff stats
path: root/svg/elements_test.go
diff options
context:
space:
mode:
authorMarkus Wüstenberg2021-05-05 12:53:32 +0200
committerGitHub2021-05-05 12:53:32 +0200
commit6f7752c20f605dda102992a984d111cdcd19c57b (patch)
treedea0456f501b0aea7894fbe8ca689df48f46861e /svg/elements_test.go
parenteb1d1f22b4a8b59d12e05b813eafcfa629a90df7 (diff)
downloadgomponents-6f7752c20f605dda102992a984d111cdcd19c57b.tar.lz
gomponents-6f7752c20f605dda102992a984d111cdcd19c57b.tar.zst
gomponents-6f7752c20f605dda102992a984d111cdcd19c57b.zip
Add svg package and a few helpers (#67)
Introducing SVG, to inline vector graphics in your HTML! 🥳
Diffstat (limited to 'svg/elements_test.go')
-rw-r--r--svg/elements_test.go29
1 files changed, 29 insertions, 0 deletions
diff --git a/svg/elements_test.go b/svg/elements_test.go
new file mode 100644
index 0000000..1b5e9d8
--- /dev/null
+++ b/svg/elements_test.go
@@ -0,0 +1,29 @@
+package svg_test
+
+import (
+	"fmt"
+	"testing"
+
+	g "github.com/maragudk/gomponents"
+	"github.com/maragudk/gomponents/assert"
+	. "github.com/maragudk/gomponents/svg"
+)
+
+func TestSimpleElements(t *testing.T) {
+	cases := map[string]func(...g.Node) g.Node{
+		"path": Path,
+	}
+
+	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"></%v>`, name, name), n)
+		})
+	}
+}
+
+func TestSVG(t *testing.T) {
+	t.Run("outputs svg element with xml namespace attribute", func(t *testing.T) {
+		assert.Equal(t, `<svg xmlns="http://www.w3.org/2000/svg"><path></path></svg>`, SVG(g.El("path")))
+	})
+}