//go:build !js
// SPDX-Licence-Identifier: EUPL-1.2
package main
import (
"testing"
html "dappco.re/go/core/html"
)
func TestRenderLayout_RendersSlotsInVariantOrder(t *testing.T) {
got := renderLayout("HCF", "en-GB", map[string]html.Node{
"H": html.Raw("head"),
"C": html.Raw("body"),
"F": html.Raw("foot"),
})
want := `` +
`body` +
``
if got != want {
t.Fatalf("renderLayout() = %q, want %q", got, want)
}
}
func TestRenderLayout_UsesLocaleAwareTextNodes(t *testing.T) {
got := renderLayout("C", "fr-FR", map[string]html.Node{
"C": html.El("p", html.Text("prompt.yes")),
})
want := `o
`
if got != want {
t.Fatalf("renderLayout() with locale = %q, want %q", got, want)
}
}
func TestRenderLayout_IgnoresMissingAndUnknownSlots(t *testing.T) {
got := renderLayout("C", "en-GB", map[string]html.Node{
"C": html.Raw("content"),
"X": html.Raw("ignored"),
})
want := `content`
if got != want {
t.Fatalf("renderLayout() with unknown slots = %q, want %q", got, want)
}
}