mirror of
https://github.com/keven1024/015.git
synced 2026-05-26 23:19:37 +00:00
73 lines
2.1 KiB
Go
73 lines
2.1 KiB
Go
package services
|
|
|
|
import (
|
|
"testing"
|
|
"worker/internal/services"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
// --- Google Translate ---
|
|
|
|
func TestTranslateWithGoogle_EnToZhCN(t *testing.T) {
|
|
result, err := services.TranslateText("Hello world", "auto", "zh-CN", "google")
|
|
require.NoError(t, err)
|
|
assert.NotEmpty(t, result)
|
|
t.Logf("en→zh-CN: %s", result)
|
|
}
|
|
|
|
func TestTranslateWithGoogle_ZhCNToEn(t *testing.T) {
|
|
result, err := services.TranslateText("你好世界", "zh-CN", "en", "google")
|
|
require.NoError(t, err)
|
|
assert.NotEmpty(t, result)
|
|
t.Logf("zh-CN→en: %s", result)
|
|
}
|
|
|
|
func TestTranslateWithGoogle_AutoDetect(t *testing.T) {
|
|
result, err := services.TranslateText("こんにちは", "auto", "en", "google")
|
|
require.NoError(t, err)
|
|
assert.NotEmpty(t, result)
|
|
t.Logf("auto(ja)→en: %s", result)
|
|
}
|
|
|
|
func TestTranslateWithGoogle_LongText(t *testing.T) {
|
|
text := "The quick brown fox jumps over the lazy dog. " +
|
|
"This sentence contains every letter of the English alphabet. " +
|
|
"It is commonly used for testing purposes."
|
|
result, err := services.TranslateText(text, "en", "zh-CN", "google")
|
|
require.NoError(t, err)
|
|
assert.NotEmpty(t, result)
|
|
t.Logf("长文本→zh-CN: %s", result)
|
|
}
|
|
|
|
// --- Microsoft Translator ---
|
|
|
|
func TestTranslateWithMicrosoft_EnToZhCN(t *testing.T) {
|
|
result, err := services.TranslateText("Hello world", "auto", "zh-Hans", "microsoft")
|
|
require.NoError(t, err)
|
|
assert.NotEmpty(t, result)
|
|
t.Logf("en→zh-Hans: %s", result)
|
|
}
|
|
|
|
func TestTranslateWithMicrosoft_ZhCNToEn(t *testing.T) {
|
|
result, err := services.TranslateText("你好世界", "zh-Hans", "en", "microsoft")
|
|
require.NoError(t, err)
|
|
assert.NotEmpty(t, result)
|
|
t.Logf("zh-Hans→en: %s", result)
|
|
}
|
|
|
|
func TestTranslateWithMicrosoft_AutoDetect(t *testing.T) {
|
|
result, err := services.TranslateText("こんにちは", "auto", "en", "microsoft")
|
|
require.NoError(t, err)
|
|
assert.NotEmpty(t, result)
|
|
t.Logf("auto(ja)→en: %s", result)
|
|
}
|
|
|
|
// --- 通用 ---
|
|
|
|
func TestTranslateText_UnknownProvider(t *testing.T) {
|
|
_, err := services.TranslateText("hello", "en", "zh-CN", "unknown_provider")
|
|
assert.ErrorIs(t, err, services.ErrUnknownProvider)
|
|
}
|