Handle more edge cases, unit tests
parent
57437f8d23
commit
cfa3bd35ae
@ -0,0 +1,122 @@
|
||||
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()
|
||||
}
|
||||
})
|
||||
}
|
@ -0,0 +1 @@
|
||||
simple: Einfach
|
@ -0,0 +1,2 @@
|
||||
simple: Simple
|
||||
fallback: Fallback
|
@ -0,0 +1 @@
|
||||
hsjdfhksjdhfjshdf, iusdhfjshdkjfhs
|
Loading…
Reference in New Issue