Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/ilovecveti.ru/bitrix/js/ui/text-editor/test/e2e/tests/ |
Upload File : |
import { E2E_BROWSER, IS_LINUX, IS_MAC, keyDownCtrlOrAlt, keyDownCtrlOrMeta, keyUpCtrlOrAlt, keyUpCtrlOrMeta, sleep, } from './utils'; /** * A delay value that is short enough yet not too short such that keypresses override each other. */ export const STANDARD_KEYPRESS_DELAY_MS = 100; export async function moveToLineBeginning(page) { if (IS_MAC) { await keyDownCtrlOrMeta(page); await page.keyboard.press('ArrowLeft'); await keyUpCtrlOrMeta(page); } else { await page.keyboard.press('Home'); } } export async function moveToLineEnd(page) { if (IS_MAC) { await keyDownCtrlOrMeta(page); await page.keyboard.press('ArrowRight'); await keyUpCtrlOrMeta(page); } else { await page.keyboard.press('End'); } } export async function moveToEditorBeginning(page) { if (IS_MAC) { await keyDownCtrlOrMeta(page); await page.keyboard.press('ArrowUp'); await keyUpCtrlOrMeta(page); } else { await page.keyboard.press('PageUp'); if (E2E_BROWSER === 'firefox') { await page.keyboard.press('Home'); } } } export async function moveToEditorEnd(page) { if (IS_MAC) { await keyDownCtrlOrMeta(page); await page.keyboard.press('ArrowDown'); await keyUpCtrlOrMeta(page); } else { await page.keyboard.press('PageDown'); if (E2E_BROWSER === 'firefox') { await page.keyboard.press('End'); } } } export async function moveToPrevWord(page) { await keyDownCtrlOrAlt(page); await page.keyboard.press('ArrowLeft'); await keyUpCtrlOrAlt(page); } export async function selectPrevWord(page) { await keyDownCtrlOrAlt(page); await page.keyboard.down('Shift'); await page.keyboard.press('ArrowLeft'); await keyUpCtrlOrAlt(page); await page.keyboard.up('Shift'); } export async function moveToNextWord(page) { await keyDownCtrlOrAlt(page); await page.keyboard.press('ArrowRight'); await keyUpCtrlOrAlt(page); } export async function extendToNextWord(page) { await page.keyboard.down('Shift'); await keyDownCtrlOrAlt(page); await page.keyboard.press('ArrowRight'); await keyUpCtrlOrAlt(page); await page.keyboard.up('Shift'); } export async function deleteNextWord(page) { await keyDownCtrlOrAlt(page); await page.keyboard.press('Delete'); await keyUpCtrlOrAlt(page); } export async function deleteBackward(page) { if (IS_MAC) { await page.keyboard.down('Control'); await page.keyboard.press('h'); await page.keyboard.up('Control'); } else { await page.keyboard.press('Backspace'); } } export async function deleteForward(page) { if (IS_MAC) { await page.keyboard.down('Control'); await page.keyboard.press('d'); await page.keyboard.up('Control'); } else { await page.keyboard.press('Delete'); } } export async function moveToParagraphBeginning(page) { if (IS_MAC) { await keyDownCtrlOrAlt(page); await page.keyboard.press('ArrowUp'); await keyUpCtrlOrAlt(page); } else { await page.keyboard.press('Home'); } } export async function moveToParagraphEnd(page) { if (IS_MAC) { await keyDownCtrlOrAlt(page); await page.keyboard.press('ArrowDown'); await keyUpCtrlOrMeta(page); } else { await page.keyboard.press('End'); } } export async function selectAll(page) { if (E2E_BROWSER === 'firefox' && IS_LINUX) { await page.evaluate(() => { const rootElement = document.querySelector('[data-lexical-editor="true"]'); const selection = window.getSelection(); selection.setBaseAndExtent( rootElement, 0, rootElement, rootElement.childNodes.length, ); }); } else { await keyDownCtrlOrMeta(page); await page.keyboard.press('a'); await keyUpCtrlOrMeta(page); } } export async function undo(page) { await keyDownCtrlOrMeta(page); await page.keyboard.press('z'); await keyUpCtrlOrMeta(page); } export async function redo(page) { if (IS_MAC) { await page.keyboard.down('Meta'); await page.keyboard.down('Shift'); await page.keyboard.press('z'); await page.keyboard.up('Shift'); await page.keyboard.up('Meta'); } else { await page.keyboard.down('Control'); await page.keyboard.press('y'); await page.keyboard.up('Control'); } } export async function moveLeft(page, numCharacters = 1, delayMs) { for (let i = 0; i < numCharacters; i++) { if (delayMs !== undefined) { await sleep(delayMs); } await page.keyboard.press('ArrowLeft'); } } export async function moveRight(page, numCharacters = 1, delayMs) { for (let i = 0; i < numCharacters; i++) { if (delayMs !== undefined) { await sleep(delayMs); } await page.keyboard.press('ArrowRight'); } } export async function moveUp(page, numCharacters = 1, delayMs) { for (let i = 0; i < numCharacters; i++) { if (delayMs !== undefined) { await sleep(delayMs); } await page.keyboard.press('ArrowUp'); } } export async function moveDown(page, numCharacters = 1, delayMs) { for (let i = 0; i < numCharacters; i++) { if (delayMs !== undefined) { await sleep(delayMs); } await page.keyboard.press('ArrowDown'); } } export async function pressBackspace(page, numCharacters = 1, delayMs) { for (let i = 0; i < numCharacters; i++) { if (delayMs !== undefined) { await sleep(delayMs); } await page.keyboard.press('Backspace'); } } export async function selectCharacters(page, direction, numCharacters = 1) { const moveFunction = direction === 'left' ? moveLeft : moveRight; await page.keyboard.down('Shift'); await moveFunction(page, numCharacters); await page.keyboard.up('Shift'); } export async function toggleBold(page) { await keyDownCtrlOrMeta(page); await page.keyboard.press('b'); await keyUpCtrlOrMeta(page); } export async function toggleUnderline(page) { await keyDownCtrlOrMeta(page); await page.keyboard.press('u'); await keyUpCtrlOrMeta(page); } export async function toggleItalic(page) { await keyDownCtrlOrMeta(page); await page.keyboard.press('i'); await keyUpCtrlOrMeta(page); } export async function pressShiftEnter(page) { await page.keyboard.down('Shift'); await page.keyboard.press('Enter'); await page.keyboard.up('Shift'); } export async function moveToStart(page) { if (IS_MAC) { await page.keyboard.down('Meta'); await page.keyboard.press('ArrowLeft'); await page.keyboard.up('Meta'); } else { await page.keyboard.down('Control'); await page.keyboard.press('ArrowLeft'); await page.keyboard.up('Control'); } } export async function moveToEnd(page) { if (IS_MAC) { await page.keyboard.down('Meta'); await page.keyboard.press('ArrowRight'); await page.keyboard.up('Meta'); } else { await page.keyboard.down('Control'); await page.keyboard.press('ArrowRight'); await page.keyboard.up('Control'); } } export async function paste(page) { await keyDownCtrlOrMeta(page); await page.keyboard.press('KeyV'); await keyUpCtrlOrMeta(page); }