403Webshell
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 :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/ilovecveti.ru/bitrix/js/ui/text-editor/test/e2e/tests/keyboard.js
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);
}

Youez - 2016 - github.com/yon3zu
LinuXploit