native macOS codings agent orchestrator prowl.onev.cat
Something went wrong. Try again.
7.1 kB · 175 lines
Swift
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176import Foundationimport Testing
@testable import supacode
struct AskAgentHelpPromptTests { @Test func languageKeyMapsCommonLocales() { #expect(AskAgentHelpPrompt.languageKey(for: Locale(identifier: "en_US")) == .english) #expect(AskAgentHelpPrompt.languageKey(for: Locale(identifier: "ja_JP")) == .japanese) #expect(AskAgentHelpPrompt.languageKey(for: Locale(identifier: "fr_FR")) == .english) }
@Test func chineseDisambiguatesByScriptThenRegion() { #expect(AskAgentHelpPrompt.languageKey(for: Locale(identifier: "zh_CN")) == .simplifiedChinese) #expect(AskAgentHelpPrompt.languageKey(for: Locale(identifier: "zh_TW")) == .traditionalChinese) #expect(AskAgentHelpPrompt.languageKey(for: Locale(identifier: "zh_HK")) == .traditionalChinese) #expect(AskAgentHelpPrompt.languageKey(for: Locale(identifier: "zh-Hant")) == .traditionalChinese) #expect(AskAgentHelpPrompt.languageKey(for: Locale(identifier: "zh-Hans")) == .simplifiedChinese) }
// Script wins over region: e.g. a Simplified-Chinese user living in Japan // reports `zh-Hans-JP` — region JP must not flip it to English/Traditional. @Test func chineseScriptWinsOverNonChineseRegion() { #expect(AskAgentHelpPrompt.languageKey(for: Locale(identifier: "zh-Hans-JP")) == .simplifiedChinese) #expect(AskAgentHelpPrompt.languageKey(for: Locale(identifier: "zh-Hant-JP")) == .traditionalChinese) #expect(AskAgentHelpPrompt.languageKey(for: Locale(identifier: "zh-Hans-US")) == .simplifiedChinese) }
@Test func managedAppAndGlobalSystemLanguagesRemainIndependent() { let combinations = [ ( managedAppLanguage: "zh-Hans", preferredLanguages: ["zh-Hans", "en"], globalLanguages: ["zh-Hans", "en"], appSentinel: "介绍 Prowl", promptSentinel: "Prowl 自带的文档" ), ( managedAppLanguage: "zh-Hans", preferredLanguages: ["zh-Hans", "en"], globalLanguages: ["en", "zh-Hans"], appSentinel: "介绍 Prowl", promptSentinel: "bundled documentation" ), ( managedAppLanguage: "en", preferredLanguages: ["en", "zh-Hans"], globalLanguages: ["zh-Hans", "en"], appSentinel: "about Prowl", promptSentinel: "Prowl 自带的文档" ), ( managedAppLanguage: "en", preferredLanguages: ["en", "zh-Hans"], globalLanguages: ["en", "zh-Hans"], appSentinel: "about Prowl", promptSentinel: "bundled documentation" ), ]
for combination in combinations { let systemLocale = AskAgentHelpPrompt.systemPreferredLocale( preferredLanguages: combination.preferredLanguages, argumentLanguages: nil, appLanguages: [combination.managedAppLanguage], globalLanguages: combination.globalLanguages ) let strings = AskAgentHelpPrompt.strings( docsDirectoryPath: "/tmp/docs", appLocale: Locale(identifier: combination.managedAppLanguage), systemLocale: systemLocale )
#expect(strings.title.contains(combination.appSentinel)) #expect(strings.prompt.contains(combination.promptSentinel)) } }
@Test func argumentLanguageOverrideRecoversIndependentGlobalPreference() { let locale = AskAgentHelpPrompt.systemPreferredLocale( preferredLanguages: ["zh-Hans", "en"], argumentLanguages: ["zh-Hans"], appLanguages: nil, globalLanguages: ["en", "zh-Hans"] )
#expect(AskAgentHelpPrompt.languageKey(for: locale) == .english) }
@Test func processPreferenceIsUsedWithoutAnOverride() { let locale = AskAgentHelpPrompt.systemPreferredLocale( preferredLanguages: ["ja", "en"], argumentLanguages: nil, appLanguages: nil, globalLanguages: ["zh-Hans", "en"] )
#expect(AskAgentHelpPrompt.languageKey(for: locale) == .japanese) }
@Test func everySupportedLocaleRoutesToItsPromptTemplate() { let docs = "/Applications/Prowl.app/Contents/Resources/docs" let routes = [ (identifier: "en", sentinel: "bundled documentation"), (identifier: "zh-Hans", sentinel: "Prowl 自带的文档"), (identifier: "zh-Hant", sentinel: "Prowl 內建的文件"), (identifier: "ja", sentinel: "同梱されているドキュメント"), ]
for route in routes { let strings = AskAgentHelpPrompt.strings( docsDirectoryPath: docs, appLocale: Locale(identifier: "en"), systemLocale: Locale(identifier: route.identifier) ) #expect(strings.prompt.contains(route.sentinel)) } }
@Test func docPathTrailingSlashIsNormalized() { let strings = AskAgentHelpPrompt.strings( docsDirectoryPath: "/Applications/Prowl.app/Contents/Resources/docs/", appLocale: Locale(identifier: "en_US"), systemLocale: Locale(identifier: "en_US") ) #expect(strings.prompt.contains("/Applications/Prowl.app/Contents/Resources/docs/README.md")) #expect(strings.prompt.contains("/Applications/Prowl.app/Contents/Resources/docs/overview.md")) #expect(!strings.prompt.contains("docs//README.md")) }
@Test func promptEmbedsResolvedDocPaths() { let docs = "/Applications/Prowl.app/Contents/Resources/docs" let strings = AskAgentHelpPrompt.strings( docsDirectoryPath: docs, appLocale: Locale(identifier: "en_US"), systemLocale: Locale(identifier: "en_US") ) #expect(strings.prompt.contains("\(docs)/README.md")) #expect(strings.prompt.contains("\(docs)/overview.md")) }
@Test func englishAppKeepsEnglishChromeForChineseSystemPrompt() { let docs = "/tmp/docs" let english = AskAgentHelpPrompt.strings( docsDirectoryPath: docs, appLocale: Locale(identifier: "en_US"), systemLocale: Locale(identifier: "en_US") ) let chineseSystem = AskAgentHelpPrompt.strings( docsDirectoryPath: docs, appLocale: Locale(identifier: "en_US"), systemLocale: Locale(identifier: "zh_CN") )
#expect(chineseSystem.title == english.title) #expect(chineseSystem.explanation == english.explanation) #expect(chineseSystem.copyButtonTitle == english.copyButtonTitle) #expect(chineseSystem.copiedButtonTitle == english.copiedButtonTitle) #expect(chineseSystem.doneButtonTitle == english.doneButtonTitle) #expect(chineseSystem.prompt != english.prompt) }
@Test func chineseAppKeepsChineseChromeForEnglishSystemPrompt() { let docs = "/tmp/docs" let english = AskAgentHelpPrompt.strings( docsDirectoryPath: docs, appLocale: Locale(identifier: "en_US"), systemLocale: Locale(identifier: "en_US") ) let chineseApp = AskAgentHelpPrompt.strings( docsDirectoryPath: docs, appLocale: Locale(identifier: "zh_CN"), systemLocale: Locale(identifier: "en_US") )
#expect(chineseApp.title != english.title) #expect(chineseApp.explanation != english.explanation) #expect(chineseApp.copyButtonTitle != english.copyButtonTitle) #expect(chineseApp.copiedButtonTitle != english.copiedButtonTitle) #expect(chineseApp.doneButtonTitle != english.doneButtonTitle) #expect(chineseApp.prompt == english.prompt) }}