diff options
author | Markus Wüstenberg | 2020-12-10 13:00:23 +0100 |
---|---|---|
committer | GitHub | 2020-12-10 13:00:23 +0100 |
commit | a76262652b227c95ce140f3698c46f59b79354ac (patch) | |
tree | 15987ad4a4a4f830f0df9fc110faf667fe83514a /components/attributes_test.go | |
parent | a7e24c6cddaafb98091c3989c9da7779eeba30b5 (diff) | |
download | gomponents-a76262652b227c95ce140f3698c46f59b79354ac.tar.lz gomponents-a76262652b227c95ce140f3698c46f59b79354ac.tar.zst gomponents-a76262652b227c95ce140f3698c46f59b79354ac.zip |
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.
Diffstat (limited to 'components/attributes_test.go')
-rw-r--r-- | components/attributes_test.go | 32 |
1 files changed, 32 insertions, 0 deletions
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, `<div class="hat"></div>`, e) + }) + + t.Run("also works with fmt", func(t *testing.T) { + a := c.Classes{"hat": true} + if a.String() != ` class="hat"` { + t.FailNow() + } + }) +} |