mirror of
https://github.com/heyman/heynote.git
synced 2025-01-05 21:49:37 +01:00
Add test for saving and restoring cursor positions
This commit is contained in:
parent
d317ac59a6
commit
4b5222c324
48
tests/note-format.spec.js
Normal file
48
tests/note-format.spec.js
Normal file
@ -0,0 +1,48 @@
|
||||
import { test, expect } from "@playwright/test";
|
||||
import { HeynotePage } from "./test-utils.js";
|
||||
import { NoteFormat } from "../src/editor/note-format.js";
|
||||
|
||||
let heynotePage
|
||||
|
||||
test.beforeEach(async ({ page }) => {
|
||||
heynotePage = new HeynotePage(page)
|
||||
await heynotePage.goto()
|
||||
});
|
||||
|
||||
|
||||
test("test restore cursor position", async ({ page, browserName }) => {
|
||||
heynotePage.setContent(`{"formatVersion":"1.0", "cursors":{"ranges":[{"anchor":13,"head":13}],"main":0}}
|
||||
∞∞∞text
|
||||
Textblock`)
|
||||
await page.locator("body").press((heynotePage.isMac ? "Meta" : "Control") + "+Alt+Enter")
|
||||
expect(await heynotePage.getContent()).toBe(`
|
||||
∞∞∞text
|
||||
Text
|
||||
∞∞∞text
|
||||
block`)
|
||||
})
|
||||
|
||||
|
||||
test("test save cursor positions", async ({ page, browserName }) => {
|
||||
heynotePage.setContent(`{"formatVersion":"1.0", "cursors":{"ranges":[{"anchor":9,"head":9}],"main":0}}
|
||||
∞∞∞text
|
||||
this
|
||||
is
|
||||
a
|
||||
text
|
||||
block`)
|
||||
await page.locator("body").press((heynotePage.isMac ? "Meta" : "Control") + "+Alt+ArrowDown")
|
||||
await page.locator("body").press((heynotePage.isMac ? "Meta" : "Control") + "+Alt+ArrowDown")
|
||||
await page.locator("body").press("Delete")
|
||||
expect(await heynotePage.getContent()).toBe(`
|
||||
∞∞∞text
|
||||
his
|
||||
s
|
||||
|
||||
text
|
||||
block`)
|
||||
|
||||
const bufferData = await heynotePage.getBufferData()
|
||||
const note = NoteFormat.load(bufferData)
|
||||
expect(note.cursors.ranges.length).toBe(3)
|
||||
})
|
Loading…
Reference in New Issue
Block a user