mirror of https://github.com/usememos/memos
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1.2 KiB
TypeScript
35 lines
1.2 KiB
TypeScript
import { beforeEach, describe, expect, it } from "vitest";
|
|
import { getPreferredEditorMode, setPreferredEditorMode } from "@/components/MemoEditor/editorMode";
|
|
import { editorReducer } from "@/components/MemoEditor/state/reducer";
|
|
import { createInitialState } from "@/components/MemoEditor/state/types";
|
|
|
|
describe("editor mode preference", () => {
|
|
beforeEach(() => localStorage.clear());
|
|
|
|
it("defaults to wysiwyg", () => {
|
|
expect(getPreferredEditorMode()).toBe("wysiwyg");
|
|
});
|
|
|
|
it("persists raw mode", () => {
|
|
setPreferredEditorMode("raw");
|
|
expect(getPreferredEditorMode()).toBe("raw");
|
|
expect(localStorage.getItem("memos-editor-mode")).toBe("raw");
|
|
});
|
|
|
|
it("ignores garbage values", () => {
|
|
localStorage.setItem("memos-editor-mode", "weird");
|
|
expect(getPreferredEditorMode()).toBe("wysiwyg");
|
|
});
|
|
});
|
|
|
|
describe("editor mode in reducer", () => {
|
|
beforeEach(() => localStorage.clear());
|
|
|
|
it("RESET re-reads the persisted preference", () => {
|
|
setPreferredEditorMode("raw");
|
|
const state = editorReducer(createInitialState(), { type: "SET_EDITOR_MODE", payload: "wysiwyg" });
|
|
const reset = editorReducer(state, { type: "RESET" });
|
|
expect(reset.ui.editorMode).toBe("raw");
|
|
});
|
|
});
|