diff options
author | Christopher Speller <crspeller@gmail.com> | 2016-11-16 19:28:52 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-16 19:28:52 -0500 |
commit | 0135904f7d3e1c0e763adaefe267c736616e3d26 (patch) | |
tree | c27be7588f98eaea62e0bd0c0087f2b348da9738 /vendor/github.com/nicksnyder/go-i18n/goi18n/merge_command_test.go | |
parent | 0b296dd8c2aefefe89787be5cc627d44cf431150 (diff) | |
download | chat-0135904f7d3e1c0e763adaefe267c736616e3d26.tar.gz chat-0135904f7d3e1c0e763adaefe267c736616e3d26.tar.bz2 chat-0135904f7d3e1c0e763adaefe267c736616e3d26.zip |
Upgrading server dependancies (#4566)
Diffstat (limited to 'vendor/github.com/nicksnyder/go-i18n/goi18n/merge_command_test.go')
-rw-r--r-- | vendor/github.com/nicksnyder/go-i18n/goi18n/merge_command_test.go | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/vendor/github.com/nicksnyder/go-i18n/goi18n/merge_command_test.go b/vendor/github.com/nicksnyder/go-i18n/goi18n/merge_command_test.go new file mode 100644 index 000000000..37e46518b --- /dev/null +++ b/vendor/github.com/nicksnyder/go-i18n/goi18n/merge_command_test.go @@ -0,0 +1,74 @@ +package main + +import ( + "bytes" + "io/ioutil" + "os" + "testing" +) + +func TestMergeExecuteJSON(t *testing.T) { + files := []string{ + "testdata/input/en-us.one.json", + "testdata/input/en-us.two.json", + "testdata/input/fr-fr.json", + "testdata/input/ar-ar.one.json", + "testdata/input/ar-ar.two.json", + } + testMergeExecute(t, files) +} + +func TestMergeExecuteYAML(t *testing.T) { + files := []string{ + "testdata/input/yaml/en-us.one.yaml", + "testdata/input/yaml/en-us.two.json", + "testdata/input/yaml/fr-fr.json", + "testdata/input/yaml/ar-ar.one.json", + "testdata/input/yaml/ar-ar.two.json", + } + testMergeExecute(t, files) +} + +func testMergeExecute(t *testing.T, files []string) { + resetDir(t, "testdata/output") + + mc := &mergeCommand{ + translationFiles: files, + sourceLanguage: "en-us", + outdir: "testdata/output", + format: "json", + } + if err := mc.execute(); err != nil { + t.Fatal(err) + } + + expectEqualFiles(t, "testdata/output/en-us.all.json", "testdata/expected/en-us.all.json") + expectEqualFiles(t, "testdata/output/ar-ar.all.json", "testdata/expected/ar-ar.all.json") + expectEqualFiles(t, "testdata/output/fr-fr.all.json", "testdata/expected/fr-fr.all.json") + expectEqualFiles(t, "testdata/output/en-us.untranslated.json", "testdata/expected/en-us.untranslated.json") + expectEqualFiles(t, "testdata/output/ar-ar.untranslated.json", "testdata/expected/ar-ar.untranslated.json") + expectEqualFiles(t, "testdata/output/fr-fr.untranslated.json", "testdata/expected/fr-fr.untranslated.json") +} + +func resetDir(t *testing.T, dir string) { + if err := os.RemoveAll(dir); err != nil { + t.Fatal(err) + } + if err := os.Mkdir(dir, 0777); err != nil { + t.Fatal(err) + } +} + +func expectEqualFiles(t *testing.T, expectedName, actualName string) { + actual, err := ioutil.ReadFile(actualName) + if err != nil { + t.Fatal(err) + } + expected, err := ioutil.ReadFile(expectedName) + if err != nil { + t.Fatal(err) + } + if !bytes.Equal(actual, expected) { + t.Fatalf("contents of files did not match: %s, %s", expectedName, actualName) + } +} |