diff --git a/WebExample/__tests__/textManipulation.spec.ts b/WebExample/__tests__/textManipulation.spec.ts index 76b74664..b789bd47 100644 --- a/WebExample/__tests__/textManipulation.spec.ts +++ b/WebExample/__tests__/textManipulation.spec.ts @@ -46,29 +46,25 @@ test.describe('paste content', () => { expect(await getElementValue(inputLocator)).toBe(newText); }); - // test('paste undo', async ({page, browserName}) => { - // test.skip(!!process.env.CI && browserName === 'firefox', 'Excluded from Firefox CI tests'); + test('paste undo', async ({page, browserName}) => { + test.skip(!!process.env.CI && browserName === 'firefox', 'Excluded from Firefox CI tests'); - // const PASTE_TEXT_FIRST = '*bold*'; - // const PASTE_TEXT_SECOND = '@here'; - - // const inputLocator = await setupInput(page, 'clear'); + const PASTE_TEXT_FIRST = '*bold*'; + const PASTE_TEXT_SECOND = '@here'; - // await page.evaluate(async (pasteText) => navigator.clipboard.writeText(pasteText), PASTE_TEXT_FIRST); + const inputLocator = await setupInput(page, 'clear'); - // await pressCmd({inputLocator, command: 'v'}); - // await page.waitForTimeout(TEST_CONST.INPUT_HISTORY_DEBOUNCE_TIME_MS); - // await page.evaluate(async (pasteText) => navigator.clipboard.writeText(pasteText), PASTE_TEXT_SECOND); - // await pressCmd({inputLocator, command: 'v'}); - // await page.waitForTimeout(TEST_CONST.INPUT_HISTORY_DEBOUNCE_TIME_MS); - // console.log(await getElementValue(inputLocator)); - // await pressCmd({inputLocator, command: 'z'}); - // await page.waitForTimeout(TEST_CONST.INPUT_HISTORY_DEBOUNCE_TIME_MS); - // console.log(await getElementValue(inputLocator), await inputLocator.innerText()); - // await page.waitForTimeout(TEST_CONST.INPUT_HISTORY_DEBOUNCE_TIME_MS); + await page.evaluate(async (pasteText) => navigator.clipboard.writeText(pasteText), PASTE_TEXT_FIRST); - // expect(await getElementValue(inputLocator)).toBe(PASTE_TEXT_FIRST); - // }); + await pressCmd({inputLocator, command: 'v'}); + await page.waitForTimeout(TEST_CONST.INPUT_HISTORY_DEBOUNCE_TIME_MS); + await page.evaluate(async (pasteText) => navigator.clipboard.writeText(pasteText), PASTE_TEXT_SECOND); + await pressCmd({inputLocator, command: 'v'}); + await page.waitForTimeout(TEST_CONST.INPUT_HISTORY_DEBOUNCE_TIME_MS); + await pressCmd({inputLocator, command: 'z'}); + await page.waitForTimeout(TEST_CONST.INPUT_HISTORY_DEBOUNCE_TIME_MS); + expect(await getElementValue(inputLocator)).toBe(PASTE_TEXT_FIRST); + }); test('paste redo', async ({page}) => { const PASTE_TEXT_FIRST = '*bold*'; diff --git a/src/MarkdownTextInput.web.tsx b/src/MarkdownTextInput.web.tsx index b961621d..28c9b2d0 100644 --- a/src/MarkdownTextInput.web.tsx +++ b/src/MarkdownTextInput.web.tsx @@ -335,7 +335,7 @@ const MarkdownTextInput = React.forwardRef( const hostNode = e.target; e.stopPropagation(); - if (e.key === 'z' && e.metaKey) { + if (e.key === 'z' && (e.ctrlKey || e.metaKey)) { e.preventDefault(); const nativeEvent = e.nativeEvent as unknown as MarkdownNativeEvent; if (e.shiftKey) {