Render to Writer instead of string (#39) The Render function has been changed to take a `Writer` instead of returning a string. This makes it possible to generate documents without having the whole content in memory. This also removes the `gomponents.Write` function, which is now redundant. Furthermore, the `el.Document` function has been changed to only take one child, as multiple children never make sense for it. (It's not even a child, more a sibling.)
1 file changed, 11 insertions(+), 1 deletion(-)
changed files
M assert/assert.go → assert/assert.go
@@ -1,6 +1,7 @@ package assert import ( + "strings" "testing" g "github.com/maragudk/gomponents"@@ -8,8 +9,17 @@ ) // Equal checks for equality between the given expected string and the rendered Node string. func Equal(t *testing.T, expected string, actual g.Node) { - if expected != actual.Render() { + var b strings.Builder + _ = actual.Render(&b) + if expected != b.String() { t.Errorf("expected `%v` but got `%v`", expected, actual) t.FailNow() } } + +// Error checks for a non-nil error. +func Error(t *testing.T, err error) { + if err == nil { + t.FailNow() + } +}