gettext_test.go (1841B)
1 package resource 2 3 import ( 4 "context" 5 "testing" 6 7 "git.defalsify.org/vise.git/lang" 8 "git.defalsify.org/vise.git/testdata/testlocale" 9 ) 10 11 func TestPoGetNotExist(t *testing.T) { 12 ln, err := lang.LanguageFromCode("spa") 13 if err != nil { 14 t.Fatal(err) 15 } 16 17 rs := NewPoResource(ln, testlocale.LocaleDir) 18 ctx := context.WithValue(context.Background(), "Language", ln) 19 20 s, err := rs.GetMenu(ctx, "foo") 21 if err != nil { 22 t.Fatal(err) 23 } 24 if s != "foo" { 25 t.Fatalf("expected 'foo', got '%s'", s) 26 } 27 28 s, err = rs.GetTemplate(ctx, "bar") 29 if err != nil { 30 t.Fatal(err) 31 } 32 if s != "bar" { 33 t.Fatalf("expected 'bar', got '%s'", s) 34 } 35 } 36 37 func TestPoGet(t *testing.T) { 38 ln, err := lang.LanguageFromCode("eng") 39 if err != nil { 40 t.Fatal(err) 41 } 42 rs := NewPoResource(ln, testlocale.LocaleDir) 43 44 lnn, err := lang.LanguageFromCode("nor") 45 if err != nil { 46 t.Fatal(err) 47 } 48 rs = rs.WithLanguage(lnn) 49 ctx := context.WithValue(context.Background(), "Language", lnn) 50 51 s, err := rs.GetMenu(ctx, "foo") 52 if err != nil { 53 t.Fatal(err) 54 } 55 if s != "fu" { 56 t.Fatalf("expected 'fu', got '%s'", s) 57 } 58 59 s, err = rs.GetTemplate(ctx, "foo") 60 if err != nil { 61 t.Fatal(err) 62 } 63 if s != "foo" { 64 t.Fatalf("expected 'foo', got '%s'", s) 65 } 66 67 // eng now 68 ctx = context.WithValue(context.Background(), "Language", ln) 69 70 s, err = rs.GetMenu(ctx, "foo") 71 if err != nil { 72 t.Fatal(err) 73 } 74 if s != "foobar" { 75 t.Fatalf("expected 'foobar', got '%s'", s) 76 } 77 78 s, err = rs.GetMenu(ctx, "bar") 79 if err != nil { 80 t.Fatal(err) 81 } 82 if s != "bar" { 83 t.Fatalf("expected 'bar', got '%s'", s) 84 } 85 86 s, err = rs.GetMenu(ctx, "inky") 87 if err != nil { 88 t.Fatal(err) 89 } 90 if s != "pinky" { 91 t.Fatalf("expected 'pinky', got '%s'", s) 92 } 93 94 s, err = rs.GetTemplate(ctx, "bar") 95 if err != nil { 96 t.Fatal(err) 97 } 98 if s != "baz" { 99 t.Fatalf("expected 'baz', got '%s'", s) 100 } 101 }