|
|
@@ -58,35 +58,6 @@ describe("Project.discover", () => {
|
|
|
expect(updated.icon?.color).toBeUndefined()
|
|
|
})
|
|
|
|
|
|
- test("should discover icon.svg in subdirectory", async () => {
|
|
|
- await using tmp = await tmpdir({ git: true })
|
|
|
- const project = await Project.fromDirectory(tmp.path)
|
|
|
-
|
|
|
- await $`mkdir -p ${path.join(tmp.path, "public")}`.quiet()
|
|
|
- await Bun.write(path.join(tmp.path, "public", "icon.svg"), "<svg></svg>")
|
|
|
-
|
|
|
- await Project.discover(project)
|
|
|
-
|
|
|
- const updated = await Storage.read<Project.Info>(["project", project.id])
|
|
|
- expect(updated.icon).toBeDefined()
|
|
|
- expect(updated.icon?.url).toStartWith("data:")
|
|
|
- expect(updated.icon?.url).toContain("base64")
|
|
|
- })
|
|
|
-
|
|
|
- test("should discover logo.ico", async () => {
|
|
|
- await using tmp = await tmpdir({ git: true })
|
|
|
- const project = await Project.fromDirectory(tmp.path)
|
|
|
-
|
|
|
- const icoData = Buffer.from([0x00, 0x00, 0x01, 0x00])
|
|
|
- await Bun.write(path.join(tmp.path, "logo.ico"), icoData)
|
|
|
-
|
|
|
- await Project.discover(project)
|
|
|
-
|
|
|
- const updated = await Storage.read<Project.Info>(["project", project.id])
|
|
|
- expect(updated.icon).toBeDefined()
|
|
|
- expect(updated.icon?.url).toStartWith("data:")
|
|
|
- })
|
|
|
-
|
|
|
test("should not discover non-image files", async () => {
|
|
|
await using tmp = await tmpdir({ git: true })
|
|
|
const project = await Project.fromDirectory(tmp.path)
|
|
|
@@ -98,21 +69,4 @@ describe("Project.discover", () => {
|
|
|
const updated = await Storage.read<Project.Info>(["project", project.id])
|
|
|
expect(updated.icon).toBeUndefined()
|
|
|
})
|
|
|
-
|
|
|
- test("should preserve existing color when discovering icon", async () => {
|
|
|
- await using tmp = await tmpdir({ git: true })
|
|
|
- const project = await Project.fromDirectory(tmp.path)
|
|
|
-
|
|
|
- await Storage.update<Project.Info>(["project", project.id], (draft) => {
|
|
|
- draft.icon = { url: "", color: "#ff0000" }
|
|
|
- })
|
|
|
-
|
|
|
- const pngData = Buffer.from([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a])
|
|
|
- await Bun.write(path.join(tmp.path, "favicon.png"), pngData)
|
|
|
-
|
|
|
- await Project.discover(project)
|
|
|
-
|
|
|
- const updated = await Storage.read<Project.Info>(["project", project.id])
|
|
|
- expect(updated.icon?.color).toBe("#ff0000")
|
|
|
- })
|
|
|
})
|