- 品牌替换:OpenCode/opencode → AirCoding/aircoding(16+ 文件) - Logo ASCII art:修复 left/right 行数不匹配导致的启动崩溃 - 启动诊断:添加 OPENCODE_PRINT_TIMING 计时探针 - dev 模式默认 --pure 跳过外部插件加载 - AGENTS.md 模板:追加 AirCoding 多 Agent 专项段落 - architect prompt + plugin:强化 AGENTS.md 产出验证
65 lines
2.0 KiB
TypeScript
65 lines
2.0 KiB
TypeScript
import { describe, expect, test, afterAll } from "bun:test"
|
|
import { Storage } from "../../src/core/storage"
|
|
|
|
describe("core.storage", () => {
|
|
test("should list files with after and before range", async () => {
|
|
await Storage.write(["test", "users", "user1"], { name: "user1" })
|
|
await Storage.write(["test", "users", "user2"], { name: "user2" })
|
|
await Storage.write(["test", "users", "user3"], { name: "user3" })
|
|
await Storage.write(["test", "users", "user4"], { name: "user4" })
|
|
await Storage.write(["test", "users", "user5"], { name: "user5" })
|
|
|
|
const result = await Storage.list({ prefix: ["test", "users"], after: "user2", before: "user4" })
|
|
|
|
expect(result).toEqual([["test", "users", "user3"]])
|
|
})
|
|
|
|
test("should list files with after only", async () => {
|
|
const result = await Storage.list({ prefix: ["test", "users"], after: "user3" })
|
|
|
|
expect(result).toEqual([
|
|
["test", "users", "user4"],
|
|
["test", "users", "user5"],
|
|
])
|
|
})
|
|
|
|
test("should list files with limit", async () => {
|
|
const result = await Storage.list({ prefix: ["test", "users"], limit: 3 })
|
|
|
|
expect(result).toEqual([
|
|
["test", "users", "user1"],
|
|
["test", "users", "user2"],
|
|
["test", "users", "user3"],
|
|
])
|
|
})
|
|
|
|
test("should list all files without prefix", async () => {
|
|
const result = await Storage.list()
|
|
|
|
expect(result.length).toBeGreaterThan(0)
|
|
})
|
|
|
|
test("should list all files with prefix", async () => {
|
|
const result = await Storage.list({ prefix: ["test", "users"] })
|
|
|
|
expect(result).toEqual([
|
|
["test", "users", "user1"],
|
|
["test", "users", "user2"],
|
|
["test", "users", "user3"],
|
|
["test", "users", "user4"],
|
|
["test", "users", "user5"],
|
|
])
|
|
})
|
|
|
|
afterAll(async () => {
|
|
const testFiles = await Storage.list({ prefix: ["test"] })
|
|
|
|
for (const file of testFiles) {
|
|
await Storage.remove(file)
|
|
}
|
|
|
|
const remainingFiles = await Storage.list({ prefix: ["test"] })
|
|
expect(remainingFiles).toEqual([])
|
|
})
|
|
})
|