Skip to content

Commit 54617ef

Browse files
authored
Fix Localize regression with empty default message (#305)
Behavior has changed with #189. Before that, an empty default message returned nil and an error, now it returns "" without error. This has been detected by mattermost test suit in mattermost/mattermost#21327 which tries to switch all code base to go-i18n v2, see [related discussion](https://github.com/mattermost/mattermost/pull/21327/files#r1365634307)
1 parent 5ee16aa commit 54617ef

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

‎v2/i18n/localizer.go‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,11 @@ func (l *Localizer) getMessageTemplate(id string, defaultMessage *Message) (lang
190190
if defaultMessage == nil {
191191
return language.Und, nil, &MessageNotFoundErr{tag: tag, messageID: id}
192192
}
193-
return tag, NewMessageTemplate(defaultMessage), nil
193+
mt := NewMessageTemplate(defaultMessage)
194+
if mt == nil {
195+
return language.Und, nil, &MessageNotFoundErr{tag: tag, messageID: id}
196+
}
197+
return tag, mt, nil
194198
}
195199

196200
// Fallback to default language in bundle.

‎v2/i18n/localizer_test.go‎

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -577,6 +577,26 @@ func localizerTests() []localizerTest {
577577
},
578578
expectedErr: &MessageNotFoundErr{tag: language.AmericanEnglish, messageID: "Hello"},
579579
},
580+
{
581+
name: "empty default message",
582+
defaultLanguage: language.English,
583+
acceptLangs: []string{"en"},
584+
conf: &LocalizeConfig{
585+
DefaultMessage: &Message{},
586+
},
587+
expectedErr: &MessageNotFoundErr{tag: language.English, messageID: ""},
588+
},
589+
{
590+
name: "empty default message with id",
591+
defaultLanguage: language.English,
592+
acceptLangs: []string{"en"},
593+
conf: &LocalizeConfig{
594+
DefaultMessage: &Message{
595+
ID: "Hello",
596+
},
597+
},
598+
expectedErr: &MessageNotFoundErr{tag: language.English, messageID: "Hello"},
599+
},
580600
}
581601
}
582602

0 commit comments

Comments
 (0)