diff --git a/app/components/AppHeader.test.ts b/app/components/AppHeader.test.ts index 4ab69c8b..f626fe4c 100644 --- a/app/components/AppHeader.test.ts +++ b/app/components/AppHeader.test.ts @@ -1,5 +1,5 @@ import { renderToString } from "@vue/server-renderer"; -import { mount } from "@vue/test-utils"; +import { flushPromises, mount } from "@vue/test-utils"; import { createSSRApp, nextTick } from "vue"; import { afterEach, describe, expect, it } from "vite-plus/test"; import AppHeader from "./AppHeader.vue"; @@ -22,14 +22,13 @@ describe("AppHeader", () => { it("保存済みの配色設定をマウント後に反映する", async () => { localStorage.setItem(STORAGE_KEY, "light"); - const wrapper = mount(AppHeader); + const wrapper = mount(AppHeader, { attachTo: document.body }); + await flushPromises(); await nextTick(); - const select = wrapper.find("select").element as HTMLSelectElement; - expect(select.value).toBe("light"); + // scheme が localStorage から復元され、DOM に反映されていることを確認 expect(document.documentElement.getAttribute("data-color-scheme")).toBe("light"); - await wrapper.find("select").setValue("system"); wrapper.unmount(); }); }); diff --git a/app/components/AppLogoMark.vue b/app/components/AppLogoMark.vue index ffa0eb57..92c81f41 100644 --- a/app/components/AppLogoMark.vue +++ b/app/components/AppLogoMark.vue @@ -6,10 +6,13 @@ viewBox="0 0 51.22 89.73" xmlns="http://www.w3.org/2000/svg" > - + + > diff --git a/app/components/DirectoryView.vue b/app/components/DirectoryView.vue index 81ef75cd..c9ee5685 100644 --- a/app/components/DirectoryView.vue +++ b/app/components/DirectoryView.vue @@ -85,6 +85,10 @@ function toggleRow(name: string) { else next.add(name); openRows.value = next; } + +function toggleNameSort() { + sort.value = sort.value === "name-asc" ? "name-desc" : "name-asc"; +}