diff --git a/v2/goi18n/merge_command_test.go b/v2/goi18n/merge_command_test.go index ff7c2219..330f38f3 100644 --- a/v2/goi18n/merge_command_test.go +++ b/v2/goi18n/merge_command_test.go @@ -11,11 +11,12 @@ import ( ) type testCase struct { - name string - inFiles map[string][]byte - sourceLanguage language.Tag - outFiles map[string][]byte - deleteFiles []string + name string + inFiles map[string][]byte + sourceLanguage language.Tag + outFiles map[string][]byte + deleteFiles []string + expectedExitCode int } func expectFile(s string) []byte { @@ -35,6 +36,15 @@ func TestMerge(t *testing.T) { "active.en-US.toml": []byte("1HelloMessage = \"Hello\"\n"), }, }, + { + name: "single identity, no localization text", + sourceLanguage: language.AmericanEnglish, + inFiles: map[string][]byte{ + "one.en-US.toml": []byte("1HelloMessage = \"\"\n"), + }, + outFiles: map[string][]byte{}, + expectedExitCode: 1, + }, { name: "plural identity", sourceLanguage: language.AmericanEnglish, @@ -518,8 +528,8 @@ zero = "{{.Count}} unread emails" } args := append([]string{"merge", "-sourceLanguage", testCase.sourceLanguage.String(), "-outdir", outdir}, infiles...) - if code := testableMain(args); code != 0 { - t.Fatalf("expected exit code 0; got %d\n", code) + if code := testableMain(args); code != testCase.expectedExitCode { + t.Fatalf("expected exit code %d; got %d\n", testCase.expectedExitCode, code) } files, err := ioutil.ReadDir(outdir)