From 4c109f9f1d4db4733d267ece171a533521029bdb Mon Sep 17 00:00:00 2001 From: Markus Wüstenberg Date: Thu, 24 Sep 2020 13:19:52 +0200 Subject: Introduce Placer interface (#18) When implemented, the `Place` method of the `Placer` interface tells `Render` in `El` where to put a Node. This is relevant for helpers that want to be rendered like attributes, inside the parent element. Fixes the bug where `attr.Classes` was rendered outside the element.--- gomponents_test.go | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'gomponents_test.go') diff --git a/gomponents_test.go b/gomponents_test.go index ee0b91d..65b82b5 100644 --- a/gomponents_test.go +++ b/gomponents_test.go @@ -52,6 +52,12 @@ func TestAttr(t *testing.T) { }) } +type outsider struct{} + +func (o outsider) Render() string { + return "outsider" +} + func TestEl(t *testing.T) { t.Run("renders an empty element if no children given", func(t *testing.T) { e := g.El("div") @@ -72,6 +78,11 @@ func TestEl(t *testing.T) { e := g.El("div", g.El("span"), g.Attr("class", "hat")) assert.Equal(t, `