1
Fork 0
template-strings/templatestrings_test.go

123 lines
2.9 KiB
Go

package templatestrings
import (
"testing"
)
func TestAll(t *testing.T) {
t.Run("Faulty initialization", func(t *testing.T) {
_, err := InitTemplateStrings("testdata", ".yaml", "en", "faulty")
if err == nil {
t.Error()
}
})
t.Run("Missing dir", func(t *testing.T) {
_, err := InitTemplateStrings("testdata/x", ".yaml", "en")
if err == nil {
t.Error()
}
})
t.Run("Missing file", func(t *testing.T) {
_, err := InitTemplateStrings("testdata", ".yaml", "en", "x")
if err != nil {
t.Error()
}
})
t.Run("File as directory", func(t *testing.T) {
_, err := InitTemplateStrings("testdata/en.yaml", ".yaml", "en")
if err == nil {
t.Error()
}
})
t.Run("Missing default variant", func(t *testing.T) {
_, err := InitTemplateStrings("testdata", ".yaml", "x", "en")
if err == nil {
t.Error()
}
})
t.Run("No variants", func(t *testing.T) {
_, err := InitTemplateStrings("testdata", ".yaml", "x")
if err == nil {
t.Error()
}
})
t.Run("Language twice", func(t *testing.T) {
_, err := InitTemplateStrings("testdata", ".yaml", "en", "en", "de")
if err != nil {
t.Error()
}
})
t.Run("Empty language", func(t *testing.T) {
_, err := InitTemplateStrings("testdata", ".yaml", "")
if err == nil {
t.Error()
}
})
t.Run("Wrong number of inputs", func(t *testing.T) {
ts, err := InitTemplateStrings("testdata", ".yaml", "en", "de")
if err != nil {
t.FailNow()
}
if ts.GetTemplateStringVariant("simple", "en", "x") != "" {
t.Error()
}
})
t.Run("Default variant", func(t *testing.T) {
ts, err := InitTemplateStrings("testdata", ".yaml", "en", "de")
if err != nil {
t.FailNow()
}
if ts.GetTemplateStringVariant("simple") != "Simple" {
t.Error()
}
})
t.Run("Specified variant", func(t *testing.T) {
ts, err := InitTemplateStrings("testdata", ".yaml", "en", "de")
if err != nil {
t.FailNow()
}
if ts.GetTemplateStringVariant("en", "simple") != "Simple" {
t.Error()
}
if ts.GetTemplateStringVariant("de", "simple") != "Einfach" {
t.Error()
}
})
t.Run("Fallback to default variant", func(t *testing.T) {
ts, err := InitTemplateStrings("testdata", ".yaml", "en", "de")
if err != nil {
t.FailNow()
}
if ts.GetTemplateStringVariant("de", "fallback") != "Fallback" {
t.Error()
}
})
t.Run("Missing variant", func(t *testing.T) {
ts, err := InitTemplateStrings("testdata", ".yaml", "en", "de")
if err != nil {
t.FailNow()
}
if ts.GetTemplateStringVariant("x", "simple") != "Simple" {
t.Error()
}
})
t.Run("Missing string", func(t *testing.T) {
ts, err := InitTemplateStrings("testdata", ".yaml", "en", "de")
if err != nil {
t.FailNow()
}
if ts.GetTemplateStringVariant("x") != "" {
t.Error()
}
})
t.Run("Template func", func(t *testing.T) {
ts, err := InitTemplateStrings("testdata", ".yaml", "en", "de")
if err != nil {
t.FailNow()
}
if ts.GetTemplateStringVariantFunc()("simple") != "Simple" {
t.Error()
}
})
}