package store import ( "reflect" "testing" ) func TestNormalizeMetadataHeroSettingsKeepsAnOrderedSubset(t *testing.T) { got := NormalizeMetadataHeroSettings(MetadataHeroSettings{ ContentOrder: []string{"summary", "unknown", "title", "summary"}, }).ContentOrder want := []string{"summary", "title"} if !reflect.DeepEqual(got, want) { t.Fatalf("content order = %v, want %v", got, want) } } func TestNormalizeMetadataHeroSettingsRestoresTheDefault(t *testing.T) { got := NormalizeMetadataHeroSettings(MetadataHeroSettings{}).ContentOrder if !reflect.DeepEqual(got, DefaultMetadataHeroContentOrder) { t.Fatalf("content order = %v, want %v", got, DefaultMetadataHeroContentOrder) } got[0] = "changed" if DefaultMetadataHeroContentOrder[0] != MetadataHeroTitle { t.Fatal("normalising an empty document returned the shared default slice") } } func TestNormalizeMetadataHeroSettingsAcceptsOptionalContent(t *testing.T) { got := NormalizeMetadataHeroSettings(MetadataHeroSettings{ ContentOrder: []string{MetadataHeroTitle, MetadataHeroReason, MetadataHeroTime}, }).ContentOrder want := []string{MetadataHeroTitle, MetadataHeroReason, MetadataHeroTime} if !reflect.DeepEqual(got, want) { t.Fatalf("content order = %v, want %v", got, want) } }