mirror of
https://github.com/heyman/heynote.git
synced 2024-11-22 16:03:28 +01:00
37 lines
1.4 KiB
JavaScript
37 lines
1.4 KiB
JavaScript
|
import { test, expect } from "@playwright/test";
|
||
|
import { HeynotePage } from "./test-utils.js";
|
||
|
|
||
|
let heynotePage
|
||
|
|
||
|
test.beforeEach(async ({ page }) => {
|
||
|
heynotePage = new HeynotePage(page)
|
||
|
await heynotePage.goto()
|
||
|
});
|
||
|
|
||
|
|
||
|
test("test emacs copy/pase/cut key bindings", async ({ page, browserName }) => {
|
||
|
if (browserName !== "chromium") {
|
||
|
// This test only works in Chromium due to accessing the clipboard
|
||
|
test.skip()
|
||
|
}
|
||
|
await page.locator("css=.status-block.settings").click()
|
||
|
//await page.locator("css=li.tab-editing").click()
|
||
|
await page.locator("css=select.keymap").selectOption("emacs")
|
||
|
await page.locator("css=select.metaKey").selectOption("alt")
|
||
|
await page.locator("body").press("Escape")
|
||
|
|
||
|
await page.locator("body").pressSequentially("test")
|
||
|
await page.locator("body").press(heynotePage.isMac ? "Meta+A" : "Control+A")
|
||
|
await page.locator("body").press("Alt+W")
|
||
|
expect(await heynotePage.getBlockContent(0)).toBe("test")
|
||
|
await page.locator("body").press("Control+Y")
|
||
|
expect(await heynotePage.getBlockContent(0)).toBe("testtest")
|
||
|
|
||
|
await page.locator("body").press(heynotePage.isMac ? "Meta+A" : "Control+A")
|
||
|
await page.locator("body").press("Control+W")
|
||
|
expect(await heynotePage.getBlockContent(0)).toBe("")
|
||
|
await page.locator("body").press("Control+Y")
|
||
|
await page.locator("body").press("Control+Y")
|
||
|
expect(await heynotePage.getBlockContent(0)).toBe("testtesttesttest")
|
||
|
})
|