107 lines
2.2 KiB
Go
107 lines
2.2 KiB
Go
package domain_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"source.toby3d.me/toby3d/home/internal/common"
|
|
"source.toby3d.me/toby3d/home/internal/domain"
|
|
)
|
|
|
|
func TestLanguage_Lang(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
for name, tc := range map[string]struct {
|
|
input string
|
|
expect string
|
|
}{
|
|
"2letter": {"en", "en"},
|
|
"3letter": {"eng", "en"},
|
|
"region": {"en-US", "en"},
|
|
common.Und: {"", ""},
|
|
} {
|
|
name, tc := name, tc
|
|
|
|
t.Run(name, func(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
if actual := domain.NewLanguage(tc.input).Lang(); actual != tc.expect {
|
|
t.Errorf("Lang() = %s, want %s", actual, tc.expect)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestLanguage_Code(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
for name, tc := range map[string]struct {
|
|
input string
|
|
expect string
|
|
}{
|
|
"2letter": {"en", "en"},
|
|
"3letter": {"eng", "en"},
|
|
"region": {"en-US", "en-US"},
|
|
common.Und: {"", ""},
|
|
} {
|
|
name, tc := name, tc
|
|
|
|
t.Run(name, func(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
if actual := domain.NewLanguage(tc.input).Code(); actual != tc.expect {
|
|
t.Errorf("Code() = %s, want %s", actual, tc.expect)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestLanguage_Dir(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
for name, tc := range map[string]struct {
|
|
input string
|
|
expect domain.Direction
|
|
}{
|
|
"2letter": {"en", domain.DirectionLeftToRight},
|
|
"rtl": {"ur", domain.DirectionRightToLeft},
|
|
"3letter": {"eng", domain.DirectionLeftToRight},
|
|
"region": {"en-US", domain.DirectionLeftToRight},
|
|
common.Und: {"", domain.DirectionUnd},
|
|
} {
|
|
name, tc := name, tc
|
|
|
|
t.Run(name, func(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
if actual := domain.NewLanguage(tc.input).Dir(); actual != tc.expect {
|
|
t.Errorf("Dir() = %s, want %s", actual, tc.expect)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestLanguage_Name(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
for name, tc := range map[string]struct {
|
|
input string
|
|
expect string
|
|
}{
|
|
"localized": {"ru", "русский"},
|
|
"2letter": {"en", "english"},
|
|
"3letter": {"eng", "english"},
|
|
"region": {"en-US", "american english"},
|
|
common.Und: {"", ""},
|
|
} {
|
|
name, tc := name, tc
|
|
|
|
t.Run(name, func(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
if actual := domain.NewLanguage(tc.input).Name(); actual != tc.expect {
|
|
t.Errorf("Name() = %s, want %s", actual, tc.expect)
|
|
}
|
|
})
|
|
}
|
|
}
|