i18n: Add tests
authorAlbert Nigmatzianov <albertnigma@gmail.com>
Wed, 3 May 2017 07:11:25 +0000 (09:11 +0200)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Wed, 3 May 2017 07:23:13 +0000 (09:23 +0200)
i18n/i18n_test.go

index 157c478d8187881012990f8c6b02b24baa7cd93d..63e09ec8acc377b083a823c8402c0d99f6ee08b0 100644 (file)
@@ -64,7 +64,7 @@ var i18nTests = []i18nTest{
        // Translation missing in default language but present in current
        {
                data: map[string][]byte{
-                       "en.toml": []byte("[goodybe]\nother = \"Goodbye, World!\""),
+                       "en.toml": []byte("[goodbye]\nother = \"Goodbye, World!\""),
                        "es.toml": []byte("[hello]\nother = \"¡Hola, Mundo!\""),
                },
                args:         nil,
@@ -112,6 +112,31 @@ var i18nTests = []i18nTest{
                expected:     "¡Hola, 50 gente!",
                expectedFlag: "¡Hola, 50 gente!",
        },
+       // Same id and translation in current language
+       // https://github.com/spf13/hugo/issues/2607
+       {
+               data: map[string][]byte{
+                       "es.toml": []byte("[hello]\nother = \"hello\""),
+                       "en.toml": []byte("[hello]\nother = \"hi\""),
+               },
+               args:         nil,
+               lang:         "es",
+               id:           "hello",
+               expected:     "hello",
+               expectedFlag: "hello",
+       },
+       // Translation missing in current language, but same id and translation in default
+       {
+               data: map[string][]byte{
+                       "es.toml": []byte("[bye]\nother = \"bye\""),
+                       "en.toml": []byte("[hello]\nother = \"hello\""),
+               },
+               args:         nil,
+               lang:         "es",
+               id:           "hello",
+               expected:     "hello",
+               expectedFlag: "[i18n] hello",
+       },
 }
 
 func doTestI18nTranslate(t *testing.T, test i18nTest, cfg config.Provider) string {