Files

23 lines
981 B
Go

package siteyaml
import "testing"
func TestAddEntry(t *testing.T) {
in := "name: Test\n\n# Collections.\ncollections:\n articles:\n layout: article\n # paginate: 20\n\nmenus:\n main: []\n"
got, err := AddEntry(in, "collections", "events", map[string]any{"layout": "event", "calendar": true})
if err != nil {
t.Fatal(err)
}
want := "name: Test\n\n# Collections.\ncollections:\n articles:\n layout: article\n # paginate: 20\n events:\n calendar: true\n layout: event\n\nmenus:\n main: []\n"
if got != want {
t.Errorf("got:\n%s\nwant:\n%s", got, want)
}
got, err = AddEntry("name: Test\n", "collections", "events", map[string]any{"calendar": true})
if err != nil || got != "name: Test\ncollections:\n events:\n calendar: true\n" {
t.Errorf("new block: %q %v", got, err)
}
if _, err := AddEntry("collections: {a: {}}\n", "collections", "events", map[string]any{"calendar": true}); err == nil {
t.Error("changed a one-line mapping")
}
}