From a76262652b227c95ce140f3698c46f59b79354ac Mon Sep 17 00:00:00 2001 From: Markus Wüstenberg Date: Thu, 10 Dec 2020 13:00:23 +0100 Subject: Move elements and attributes into html package (#52) This makes it easier to use dot-imports. Also updated the readme and examples with new usage, and move the `Classes` helper into the `components` package.--- components/attributes_test.go | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 components/attributes_test.go (limited to 'components/attributes_test.go') diff --git a/components/attributes_test.go b/components/attributes_test.go new file mode 100644 index 0000000..bf3e93b --- /dev/null +++ b/components/attributes_test.go @@ -0,0 +1,32 @@ +package components_test + +import ( + "testing" + + g "github.com/maragudk/gomponents" + "github.com/maragudk/gomponents/assert" + c "github.com/maragudk/gomponents/components" +) + +func TestClasses(t *testing.T) { + t.Run("given a map, returns sorted keys from the map with value true", func(t *testing.T) { + assert.Equal(t, ` class="boheme-hat hat partyhat"`, c.Classes{ + "boheme-hat": true, + "hat": true, + "partyhat": true, + "turtlehat": false, + }) + }) + + t.Run("renders as attribute in an element", func(t *testing.T) { + e := g.El("div", c.Classes{"hat": true}) + assert.Equal(t, `
`, e) + }) + + t.Run("also works with fmt", func(t *testing.T) { + a := c.Classes{"hat": true} + if a.String() != ` class="hat"` { + t.FailNow() + } + }) +} -- cgit 1.4.1