heynote/tests/emacs-clipboard-keys.spec.js
Jonatan Heyman 554e04ea67 Fix test on linux/windows
Change Playwright reporter when running in Github action

Change default emacs meta key to Alt on non Linux and Windows

Always set emacsMetaKey to "alt" if not on Mac, since the option is only available on Mac
2024-01-06 01:51:07 +01:00

42 lines
1.6 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")
if (heynotePage.isMac) {
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("Control+Space")
await page.locator("body").press("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("Control+E")
await page.locator("body").press("Control+Space")
await page.locator("body").press("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")
})