fix: logo 右半部分从 CODING 改为 CODE
去掉难以正确渲染的 N 和 G 字母,右半部分简化为 CODE(4 字母), 与左半部分 AIR 组合为 AIR CODE。
This commit is contained in:
43
packages/tui/test/prompt/local-attachment.test.ts
Normal file
43
packages/tui/test/prompt/local-attachment.test.ts
Normal file
@@ -0,0 +1,43 @@
|
||||
import { describe, expect, test } from "bun:test"
|
||||
import { readLocalAttachmentWith } from "../../src/component/prompt/local-attachment"
|
||||
import type { LocalFiles } from "../../src/component/prompt/local-attachment"
|
||||
|
||||
function files(input: { mime: string; text?: string; bytes?: Uint8Array }): LocalFiles {
|
||||
return {
|
||||
mime: async () => input.mime,
|
||||
readText: async () => input.text ?? "",
|
||||
readBytes: async () => input.bytes ?? new Uint8Array(),
|
||||
}
|
||||
}
|
||||
|
||||
describe("prompt local attachments", () => {
|
||||
test("reads SVG attachments as text", async () => {
|
||||
expect(await readLocalAttachmentWith(files({ mime: "image/svg+xml", text: "<svg />" }), "/tmp/image.svg")).toEqual({
|
||||
type: "text",
|
||||
mime: "image/svg+xml",
|
||||
content: "<svg />",
|
||||
})
|
||||
})
|
||||
|
||||
test("reads image and PDF attachments as bytes", async () => {
|
||||
const content = new Uint8Array([1, 2, 3])
|
||||
expect(await readLocalAttachmentWith(files({ mime: "application/pdf", bytes: content }), "/tmp/file.pdf")).toEqual({
|
||||
type: "binary",
|
||||
mime: "application/pdf",
|
||||
content,
|
||||
})
|
||||
})
|
||||
|
||||
test("ignores unsupported and unreadable local files", async () => {
|
||||
expect(await readLocalAttachmentWith(files({ mime: "text/plain" }), "/tmp/file.txt")).toBeUndefined()
|
||||
expect(
|
||||
await readLocalAttachmentWith(
|
||||
{
|
||||
...files({ mime: "image/png" }),
|
||||
readBytes: async () => Promise.reject(new Error("missing")),
|
||||
},
|
||||
"/tmp/missing.png",
|
||||
),
|
||||
).toBeUndefined()
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user