import { selectContent, selectRange } from "../../helpers"; import contextHelpers from "./context"; export default (ctx) => { const { getControl, setContent } = contextHelpers(ctx); describe("indent:indent", () => { it("indents the existing content", async () => { await setContent("Hello, world!"); await selectRange(ctx.prosemirror, ctx.prosemirror.querySelector("p").firstChild, { start: 3, end: 3 }); const ctrl = getControl("indent:indent"); ctrl.click(); ctrl.click(); expect(ctx.prosemirror.innerHTML).toEqual('

Hello, world!

'); }); it("indents a list item correctly", async () => { await setContent(""); selectContent(ctx.prosemirror, "ul li:nth-child(2) p"); getControl("indent:indent").click(); expect(ctx.prosemirror.innerHTML).toEqual( "" ); }); }); describe("indent:outdent", () => { it("outdents the existing content", async () => { await setContent('

Hello, world!

'); await selectRange(ctx.prosemirror, ctx.prosemirror.querySelector("p").firstChild, { start: 3, end: 3 }); const ctrl = getControl("indent:outdent"); ctrl.click(); ctrl.click(); expect(ctx.prosemirror.innerHTML).toEqual("

Hello, world!

"); }); it("outdents a list item correctly", async () => { await setContent(""); selectContent(ctx.prosemirror, "ul li ul li p"); getControl("indent:outdent").click(); expect(ctx.prosemirror.innerHTML).toEqual( "" ); }); it("does nothing on a top-level list item", async () => { await setContent(""); selectContent(ctx.prosemirror, "ul li:nth-child(2) p"); getControl("indent:outdent").click(); expect(ctx.prosemirror.innerHTML).toEqual( "" ); }); }); };