all repos — gomponents @ 6f7752c20f605dda102992a984d111cdcd19c57b

HTML components in pure Go

Add svg package and a few helpers (#67) Introducing SVG, to inline vector graphics in your HTML! 🥳

Markus Wüstenberg
commit

6f7752c20f605dda102992a984d111cdcd19c57b

parent

eb1d1f22b4a8b59d12e05b813eafcfa629a90df7

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

changed files
A 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"))) + }) +}