本地化测试不再切换全局语言,避免与并行的测试互相影响

This commit is contained in:
gentpan committed 2026-09-13 09:18:55 +05:00
1 parent 5e16e65233
commit 9af1aaaf27
1 file changed
+14 -10
@@ -1,19 +1,23 @@
import Testing
@testable import Localization
@Suite(.serialized) struct LocalizationTests {
// 不切换全局语言:其他测试套件并行运行,依赖中文原文
@Suite struct LocalizationTests {
@Test func translatesExactAndTemplates() {
L10n.configure(.english)
defer { L10n.configure(.chinese) }
#expect(tr("内存") == "Memory")
#expect(tr("12 个进程") == "12 processes")
#expect(tr("OpenStats") == "OpenStats")
L10n.configure(.chinese)
#expect(tr("内存") == "内存")
let table = Translations.shared
#expect(table.translate("内存") == "Memory")
#expect(table.translate("12 个进程") == "12 processes")
#expect(table.translate("1 个进程") == "1 process")
#expect(table.translate("不存在的文案") == nil)
}
@Test func resolvesSystemLanguage() {
#expect(AppLanguage.chinese.resolved == .chinese)
@Test func translatesCapturedChinese() {
// 插进来的中文也会再翻一次
#expect(Translations.shared.translate("设置 · 关于") == "Settings · About")
}
@Test func defaultsToChinese() {
#expect(tr("内存") == "内存")
#expect(AppLanguage.english.resolved == .english)
}
}