50 lines
2.0 KiB
Go
50 lines
2.0 KiB
Go
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)
|
|
}
|
|
}
|
|
|
|
func TestNormalizeMetadataHeroSettingsNormalisesTimeRemainingColour(t *testing.T) {
|
|
if got := NormalizeMetadataHeroSettings(MetadataHeroSettings{}).TimeRemainingColour; got != MetadataHeroTimeRemainingColourGreen {
|
|
t.Fatalf("default time remaining colour = %q, want green", got)
|
|
}
|
|
if got := NormalizeMetadataHeroSettings(MetadataHeroSettings{TimeRemainingColour: " WHITE "}).TimeRemainingColour; got != MetadataHeroTimeRemainingColourWhite {
|
|
t.Fatalf("time remaining colour = %q, want white", got)
|
|
}
|
|
if got := NormalizeMetadataHeroSettings(MetadataHeroSettings{TimeRemainingColour: "orange"}).TimeRemainingColour; got != MetadataHeroTimeRemainingColourGreen {
|
|
t.Fatalf("unknown time remaining colour = %q, want green", got)
|
|
}
|
|
}
|