fix(cli): preserve CJK agent header text
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
import { afterEach, describe, expect, it } from "bun:test"
|
||||
|
||||
import { renderAgentHeader } from "./output-renderer"
|
||||
|
||||
const originalWrite = process.stdout.write.bind(process.stdout)
|
||||
|
||||
function captureStdout(run: () => void): string {
|
||||
const chunks: string[] = []
|
||||
process.stdout.write = ((chunk: string | Uint8Array) => {
|
||||
chunks.push(typeof chunk === "string" ? chunk : Buffer.from(chunk).toString("utf8"))
|
||||
return true
|
||||
}) as typeof process.stdout.write
|
||||
|
||||
try {
|
||||
run()
|
||||
} finally {
|
||||
process.stdout.write = originalWrite as typeof process.stdout.write
|
||||
}
|
||||
|
||||
return chunks.join("")
|
||||
}
|
||||
|
||||
afterEach(() => {
|
||||
process.stdout.write = originalWrite as typeof process.stdout.write
|
||||
})
|
||||
|
||||
describe("renderAgentHeader", () => {
|
||||
it("preserves CJK agent display names in stdout output", () => {
|
||||
const output = captureStdout(() => {
|
||||
renderAgentHeader("Sisyphus - 主脑", "zhipu/glm-5.1", "xhigh", {})
|
||||
})
|
||||
|
||||
expect(output).toContain("Sisyphus - 主脑")
|
||||
expect(output).toContain("zhipu/glm-5.1")
|
||||
})
|
||||
|
||||
it("normalizes decomposed Unicode before rendering", () => {
|
||||
const output = captureStdout(() => {
|
||||
renderAgentHeader("헤파", null, null, {})
|
||||
})
|
||||
|
||||
expect(output).toContain("헤파")
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user