Files
ggbond268--mactools/Plugins/Translator/Tests/TranslationPromptRendererTests.swift
wehub-resource-sync 1d1286fadb
Build / Build and test (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:18:38 +08:00

39 lines
1.2 KiB
Swift

import Foundation
import XCTest
@testable import TranslatorPlugin
final class TranslationPromptRendererTests: XCTestCase {
func testRendersAllPlaceholdersExactly() throws {
let renderer = TranslationPromptRenderer(
template: "Source={{source_language}}\nTarget={{target_language}}\nText={{text}}"
)
let prompt = try renderer.render(
text: "Hello {{target_language}}",
sourceLanguageName: "English",
targetLanguageName: "Simplified Chinese"
)
XCTAssertEqual(
prompt,
"Source=English\nTarget=Simplified Chinese\nText=Hello {{target_language}}"
)
}
func testMissingTextPlaceholderThrowsLocalizedMessage() {
let renderer = TranslationPromptRenderer(
template: "Source={{source_language}}\nTarget={{target_language}}"
)
XCTAssertThrowsError(
try renderer.render(
text: "Hello",
sourceLanguageName: "English",
targetLanguageName: "Simplified Chinese"
)
) { error in
XCTAssertEqual(error.localizedDescription, "提示词必须包含 {{text}}。")
}
}
}