Files
kangkang/康康Tests/VLPromptsOCRTests.swift

33 lines
1.2 KiB
Swift

import Testing
@testable import
struct VLPromptsOCRTests {
@Test func emptyOCRKeepsPromptClean() {
let p = VLPrompts.reportExtraction(ocrText: "")
#expect(!p.contains("OCR 参考文本"))
#expect(!p.contains("{{OCR_SECTION}}"))
#expect(p.contains("现在请识别图片并输出 JSON"))
}
@Test func ocrTextIsInjectedBeforeFinalInstruction() {
let p = VLPrompts.reportExtraction(ocrText: "尿酸 486 208-428 μmol/L")
#expect(p.contains("OCR 参考文本"))
#expect(p.contains("尿酸 486"))
let ocrPos = p.range(of: "尿酸 486")!.lowerBound
let endPos = p.range(of: "现在请识别图片并输出 JSON")!.lowerBound
#expect(ocrPos < endPos)
}
@Test func clipKeepsShortTextIntact() {
#expect(VLPrompts.clipOCR("短文本") == "短文本")
}
@Test func clipCutsAtLineBoundary() {
let long = Array(repeating: "指标行 1.23 mmol/L", count: 400).joined(separator: "\n")
let clipped = VLPrompts.clipOCR(long, limit: 200)
#expect(clipped.count < 260)
#expect(clipped.hasSuffix("(后续内容过长已截断)"))
}
}