mirror of
https://github.com/heyman/heynote.git
synced 2024-12-01 20:33:58 +01:00
c010df083c
Add support for migrating old buffer file to new library. Add support for changing location for the notes library. Replace theme toggle in status bar with a dropdown in Appearance settings. Improve New Note and Update Note dialogs. Implement UI for confirming note delete (the actualal deltion is still to be implemented).
62 lines
1.9 KiB
JavaScript
62 lines
1.9 KiB
JavaScript
import { test, expect } from "@playwright/test";
|
|
import { HeynotePage } from "./test-utils.js";
|
|
import { NoteFormat } from "../src/common/note-format.js";
|
|
|
|
let heynotePage
|
|
|
|
test.beforeEach(async ({ page }) => {
|
|
heynotePage = new HeynotePage(page)
|
|
await heynotePage.goto()
|
|
});
|
|
|
|
|
|
test("test restore cursor position", async ({ page, browserName }) => {
|
|
await heynotePage.setContent(`{"formatVersion":"1.0.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 }) => {
|
|
await heynotePage.setContent(`{"formatVersion":"1.0.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)
|
|
})
|
|
|
|
test("unknown note metadata keys is kept", async ({ page, browserName }) => {
|
|
await heynotePage.setContent(`{"yoda":[123], "formatVersion":"1.0.0", "cursors":{"ranges":[{"anchor":15,"head":15}],"main":0}}
|
|
∞∞∞text
|
|
block 1`)
|
|
await page.locator("body").pressSequentially("hello")
|
|
expect(await heynotePage.getContent()).toBe(`
|
|
∞∞∞text
|
|
block hello1`)
|
|
|
|
const bufferData = await heynotePage.getBufferData()
|
|
const note = NoteFormat.load(bufferData)
|
|
expect(note.metadata.yoda).toStrictEqual([123])
|
|
}) |