28 lines
719 B
Go
28 lines
719 B
Go
package html_test
|
|
|
|
import (
|
|
"errors"
|
|
"testing"
|
|
|
|
html "dappco.re/go/core/html"
|
|
)
|
|
|
|
func TestValidateLayoutVariant_ExportsPositions(t *testing.T) {
|
|
err := html.ValidateLayoutVariant("H1X?")
|
|
if err == nil {
|
|
t.Fatal("ValidateLayoutVariant returned nil, want error")
|
|
}
|
|
|
|
var variantErr *html.LayoutVariantError
|
|
if !errors.As(err, &variantErr) {
|
|
t.Fatalf("errors.As(%T) failed, want *html.LayoutVariantError", err)
|
|
}
|
|
|
|
if got := string(variantErr.InvalidSlots()); got != "1X?" {
|
|
t.Fatalf("InvalidSlots() = %q, want %q", got, "1X?")
|
|
}
|
|
|
|
if got := variantErr.InvalidPositions(); len(got) != 3 || got[0] != 2 || got[1] != 3 || got[2] != 4 {
|
|
t.Fatalf("InvalidPositions() = %v, want %v", got, []int{2, 3, 4})
|
|
}
|
|
}
|