mirror of
https://github.com/miniflux/v2.git
synced 2025-07-27 17:28:38 +00:00
Use embed package for translations instead of generated files
Replace "go generate" with the new embed package.
This commit is contained in:
parent
a352aff93b
commit
5d65a85bdb
8 changed files with 103 additions and 3996 deletions
|
@ -7,14 +7,14 @@ package locale // import "miniflux.app/locale"
|
|||
import "testing"
|
||||
|
||||
func TestParserWithInvalidData(t *testing.T) {
|
||||
_, err := parseTranslationDict(`{`)
|
||||
_, err := parseTranslationMessages([]byte(`{`))
|
||||
if err == nil {
|
||||
t.Fatal(`An error should be returned when parsing invalid data`)
|
||||
}
|
||||
}
|
||||
|
||||
func TestParser(t *testing.T) {
|
||||
translations, err := parseTranslationDict(`{"k": "v"}`)
|
||||
translations, err := parseTranslationMessages([]byte(`{"k": "v"}`))
|
||||
if err != nil {
|
||||
t.Fatalf(`Unexpected parsing error: %v`, err)
|
||||
}
|
||||
|
@ -32,3 +32,60 @@ func TestParser(t *testing.T) {
|
|||
t.Fatal(`The translation key should contains the defined value`)
|
||||
}
|
||||
}
|
||||
|
||||
func TestLoadCatalog(t *testing.T) {
|
||||
if err := LoadCatalogMessages(); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestAllKeysHaveValue(t *testing.T) {
|
||||
for language := range AvailableLanguages() {
|
||||
messages, err := loadTranslationFile(language)
|
||||
if err != nil {
|
||||
t.Fatalf(`Unable to load translation messages for language %q`, language)
|
||||
}
|
||||
|
||||
if len(messages) == 0 {
|
||||
t.Fatalf(`The language %q doesn't have any messages`, language)
|
||||
}
|
||||
|
||||
for k, v := range messages {
|
||||
switch value := v.(type) {
|
||||
case string:
|
||||
if value == "" {
|
||||
t.Errorf(`The key %q for the language %q have an empty string as value`, k, language)
|
||||
}
|
||||
case []string:
|
||||
if len(value) == 0 {
|
||||
t.Errorf(`The key %q for the language %q have an empty list as value`, k, language)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestMissingTranslations(t *testing.T) {
|
||||
refLang := "en_US"
|
||||
references, err := loadTranslationFile(refLang)
|
||||
if err != nil {
|
||||
t.Fatal(`Unable to parse reference language`)
|
||||
}
|
||||
|
||||
for language := range AvailableLanguages() {
|
||||
if language == refLang {
|
||||
continue
|
||||
}
|
||||
|
||||
messages, err := loadTranslationFile(language)
|
||||
if err != nil {
|
||||
t.Fatalf(`Parsing error for language %q`, language)
|
||||
}
|
||||
|
||||
for key := range references {
|
||||
if _, found := messages[key]; !found {
|
||||
t.Fatalf(`Translation key %q not found in language %q`, key, language)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue