github.com/gocaveman/caveman@v0.0.0-20191211162744-0ddf99dbdf6e/i18n/i18nyaml/i18nyaml_test.go (about) 1 package i18nyaml 2 3 import ( 4 "bytes" 5 "os" 6 "testing" 7 8 "github.com/gocaveman/caveman/filesystem/aferofs" 9 "github.com/gocaveman/caveman/i18n" 10 "github.com/spf13/afero" 11 "github.com/stretchr/testify/assert" 12 ) 13 14 func TestLoad(t *testing.T) { 15 16 assert := assert.New(t) 17 18 yamlText := ` 19 test1: Test Number 1 20 test2: Test Number 2 21 test3: Test Number 3 22 ` 23 24 tr, err := Load(bytes.NewReader([]byte(yamlText)), "default", "en") 25 assert.Nil(err) 26 27 v, err := tr.Translate("default", "test2", "en") 28 assert.Nil(err) 29 30 assert.Equal("Test Number 2", v) 31 32 } 33 34 func TestLoadDir(t *testing.T) { 35 36 assert := assert.New(t) 37 38 afs := afero.NewMemMapFs() 39 fs := aferofs.New(afs) 40 fs.Mkdir("/i18n", 0755) 41 42 f, err := fs.OpenFile("/i18n/default.en.yaml", os.O_CREATE|os.O_WRONLY|os.O_TRUNC, 0755) 43 assert.Nil(err) 44 defer f.Close() 45 f.Write([]byte(` 46 test1: Test Number 1 47 test2: Test Number 2 48 test3: Test Number 3 49 `)) 50 51 f, err = fs.OpenFile("/i18n/default.es.yaml", os.O_CREATE|os.O_WRONLY|os.O_TRUNC, 0755) 52 assert.Nil(err) 53 defer f.Close() 54 f.Write([]byte(` 55 test1: Prueba número 1 56 test2: Prueba número 2 57 test3: Prueba número 3 58 `)) 59 60 ns, err := LoadDir(afero.NewHttpFs(afs), "/i18n") 61 assert.Nil(err) 62 63 tr := i18n.NewNamedSequenceTranslator(ns, true) 64 v, err := tr.Translate("default", "test2", "es") 65 assert.Nil(err) 66 67 assert.Equal("Prueba número 2", v) 68 69 }