Files
AFFiNE-Mirror/tests/blocksuite/e2e/quote.spec.ts

103 lines
3.2 KiB
TypeScript

import {
enterPlaygroundRoom,
focusRichText,
initEmptyParagraphState,
pressArrowDown,
pressArrowRight,
pressArrowUp,
pressEnter,
type,
} from './utils/actions/index.js';
import {
assertRichTextInlineRange,
assertTextContain,
} from './utils/asserts.js';
import { test } from './utils/playwright.js';
test('prohibit creating divider within quote', async ({ page }) => {
test.info().annotations.push({
type: 'issue',
description: 'https://github.com/toeverything/blocksuite/issues/995',
});
await enterPlaygroundRoom(page);
await initEmptyParagraphState(page);
await focusRichText(page);
await type(page, '>');
await page.keyboard.press('Space', { delay: 50 });
await focusRichText(page);
await type(page, '123');
await pressEnter(page);
await type(page, '---');
await page.keyboard.press('Space', { delay: 50 });
await assertTextContain(page, '---');
});
test('quote arrow up/down', async ({ page }) => {
test.info().annotations.push({
type: 'issue',
description: 'https://github.com/toeverything/blocksuite/issues/2834',
});
await enterPlaygroundRoom(page);
await initEmptyParagraphState(page);
await focusRichText(page);
await type(page, 'aaaaa');
await pressEnter(page);
await type(page, 'aaaaa');
await pressEnter(page);
await type(page, 'aaa');
await pressEnter(page);
await type(page, '> aaaaaaaaa');
await pressEnter(page);
await type(page, 'aaa');
await pressEnter(page);
await type(page, 'aaaaaaaaa');
await pressEnter(page);
await pressEnter(page);
await type(page, 'aaaaa');
await pressEnter(page);
await type(page, 'aaaaa');
await pressEnter(page);
await type(page, 'aaa');
await assertRichTextInlineRange(page, 6, 3, 0);
await pressArrowUp(page);
await assertRichTextInlineRange(page, 5, 3, 0);
await pressArrowUp(page);
await assertRichTextInlineRange(page, 4, 3, 0);
await pressArrowUp(page);
await assertRichTextInlineRange(page, 3, 15, 0);
await pressArrowRight(page, 8);
await assertRichTextInlineRange(page, 3, 23, 0);
await pressArrowUp(page);
await assertRichTextInlineRange(page, 3, 13, 0);
await pressArrowUp(page);
await assertRichTextInlineRange(page, 3, 9, 0);
await pressArrowUp(page);
await assertRichTextInlineRange(page, 2, 3, 0);
await pressArrowUp(page);
await assertRichTextInlineRange(page, 1, 5, 0);
await pressArrowUp(page);
await assertRichTextInlineRange(page, 0, 5, 0);
await pressArrowUp(page);
await assertRichTextInlineRange(page, 0, 0, 0);
await pressArrowRight(page, 4);
await assertRichTextInlineRange(page, 0, 4, 0);
await pressArrowDown(page);
await assertRichTextInlineRange(page, 1, 4, 0);
await pressArrowDown(page);
await assertRichTextInlineRange(page, 2, 3, 0);
await pressArrowDown(page);
await assertRichTextInlineRange(page, 3, 2, 0);
await pressArrowRight(page, 8);
await assertRichTextInlineRange(page, 3, 10, 0);
await pressArrowDown(page);
await assertRichTextInlineRange(page, 3, 14, 0);
await pressArrowDown(page);
await assertRichTextInlineRange(page, 4, 2, 0);
await pressArrowDown(page);
await assertRichTextInlineRange(page, 5, 2, 0);
await pressArrowDown(page);
await assertRichTextInlineRange(page, 6, 2, 0);
});