32 lines
791 B
Go
32 lines
791 B
Go
package i18n_test
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
"github.com/pkg/errors"
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
"golang.org/x/text/language"
|
|
|
|
. "github.com/derfenix/goi18n"
|
|
"github.com/derfenix/goi18n/internal"
|
|
)
|
|
|
|
func TestTryTranslateError(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
require.NoError(t, Init(internal.TestFS))
|
|
|
|
err := NewError("test").WithParams("book")
|
|
wrapped := errors.Wrap(err, "foo bar")
|
|
|
|
errorString, translated := TryTranslateError(context.Background(), wrapped)
|
|
require.True(t, translated)
|
|
assert.Equal(t, "Тест book", errorString)
|
|
|
|
errorString, translated = TryTranslateError(ContextWithLang(context.Background(), language.English), wrapped)
|
|
require.True(t, translated)
|
|
assert.Equal(t, "Test of the book", errorString)
|
|
}
|