Skip to content

refactor: support multiple-editors #15030

refactor: support multiple-editors

refactor: support multiple-editors #15030

Triggered via pull request December 28, 2023 10:00
Status Success
Total duration 6m 3s
Artifacts

test.yaml

on: pull_request
Node.js Environment Compatibility
52s
Node.js Environment Compatibility
Unit test
1m 15s
Unit test
Integration test
26s
Integration test
Inline Editor E2E test
42s
Inline Editor E2E test
Matrix: Playground E2E test
Fit to window
Zoom out
Zoom in

Annotations

39 errors and 11 notices
attachment.spec.ts:261:1 › should rename attachment works: tests/attachment.spec.ts#L1
1) attachment.spec.ts:261:1 › should rename attachment works ───────────────────────────────────── Test timeout of 30000ms exceeded.
attachment.spec.ts:261:1 › should rename attachment works: tests/attachment.spec.ts#L95
1) attachment.spec.ts:261:1 › should rename attachment works ───────────────────────────────────── Error: locator.click: Test timeout of 30000ms exceeded. Call log: - waiting for locator('.affine-attachment-options').locator('icon-button').filter({ hasText: 'Rename' }) - locator resolved to <icon-button size="32px" tabindex="0" data-test-disabled="fal…>…</icon-button> - attempting click action - waiting for element to be visible, enabled and stable 93 | await attachment.hover(); 94 | await expect(options).toBeVisible(); > 95 | await renameBtn.click(); | ^ 96 | await page.keyboard.press(`${SHORT_KEY}+a`, { delay: 50 }); 97 | await pressBackspace(page); 98 | await type(page, newName); at rename (/home/runner/work/blocksuite/blocksuite/tests/attachment.spec.ts:95:23) at /home/runner/work/blocksuite/blocksuite/tests/attachment.spec.ts:294:3
attachment.spec.ts:300:1 › should turn attachment to image works: tests/utils/asserts.ts#L217
2) attachment.spec.ts:300:1 › should turn attachment to image works ────────────────────────────── Error: expect(received).toEqual(expected) // deep equality Expected: 1 Received: 0 at utils/asserts.ts:217 215 | const editor = getEditorLocator(page); 216 | const actual = await editor.locator('.resizable-img').count(); > 217 | expect(actual).toEqual(count); | ^ 218 | } 219 | 220 | export async function assertDivider(page: Page, count: number) { at assertRichImage (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:217:18) at turnToEmbed (/home/runner/work/blocksuite/blocksuite/tests/attachment.spec.ts:90:7) at /home/runner/work/blocksuite/blocksuite/tests/attachment.spec.ts:311:3
clipboard.spec.ts:919:1 › should copy and paste of database work: tests/clipboard.spec.ts#L1
1) clipboard.spec.ts:919:1 › should copy and paste of database work ────────────────────────────── Test finished within timeout of 30000ms, but tearing down "context" ran out of time. Please allow more time for the test, since teardown is attributed towards the test timeout budget.
clipboard.spec.ts:1016:1 › copy canvas element and text note in edgeless mode: tests/clipboard.spec.ts#L1
2) clipboard.spec.ts:1016:1 › copy canvas element and text note in edgeless mode ───────────────── Test timeout of 30000ms exceeded.
clipboard.spec.ts:1016:1 › copy canvas element and text note in edgeless mode: tests/utils/actions/drag.ts#L21
2) clipboard.spec.ts:1016:1 › copy canvas element and text note in edgeless mode ───────────────── Error: mouse.move: Test timeout of 30000ms exceeded. at utils/actions/drag.ts:21 19 | await page.mouse.move(x1, y1); 20 | await page.mouse.down(); > 21 | await page.mouse.move(x2, y2, { steps }); | ^ 22 | await options?.beforeMouseUp?.(); 23 | await page.mouse.up(); 24 | } at dragBetweenCoords (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/drag.ts:21:20) at addBasicShapeElement (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:357:3) at createShapeElement (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:1229:3) at /home/runner/work/blocksuite/blocksuite/tests/clipboard.spec.ts:1021:3
hotkey.spec.ts:131:1 › multi line rich-text inline code hotkey: tests/hotkey.spec.ts#L1
1) hotkey.spec.ts:131:1 › multi line rich-text inline code hotkey ──────────────────────────────── Test finished within timeout of 30000ms, but tearing down "context" ran out of time. Please allow more time for the test, since teardown is attributed towards the test timeout budget.
hotkey.spec.ts:303:1 › single line rich-text strikethrough hotkey: tests/hotkey.spec.ts#L1
2) hotkey.spec.ts:303:1 › single line rich-text strikethrough hotkey ───────────────────────────── Test finished within timeout of 30000ms, but tearing down "context" ran out of time. Please allow more time for the test, since teardown is attributed towards the test timeout budget.
hotkey.spec.ts:1123:1 › should ctrl+enter create new block: tests/utils/asserts.ts#L196
3) hotkey.spec.ts:1123:1 › should ctrl+enter create new block ──────────────────────────────────── Error: expect(received).toEqual(expected) // deep equality - Expected - 2 + Received + 2 Array [ - "1", - "23", + "12", + "3", ] at utils/asserts.ts:196 194 | }); 195 | }, currentEditorIndex); > 196 | expect(actualTexts).toEqual(texts); | ^ 197 | } 198 | 199 | export async function assertEdgelessCanvasText(page: Page, text: string) { at assertRichTexts (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:196:23) at /home/runner/work/blocksuite/blocksuite/tests/hotkey.spec.ts:1133:3
hotkey.spec.ts:1123:1 › should ctrl+enter create new block: tests/utils/asserts.ts#L196
3) hotkey.spec.ts:1123:1 › should ctrl+enter create new block ──────────────────────────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toEqual(expected) // deep equality - Expected - 1 + Received + 1 Array [ "1", - "23", "", + "23", ] at utils/asserts.ts:196 194 | }); 195 | }, currentEditorIndex); > 196 | expect(actualTexts).toEqual(texts); | ^ 197 | } 198 | 199 | export async function assertEdgelessCanvasText(page: Page, text: string) { at assertRichTexts (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:196:23) at /home/runner/work/blocksuite/blocksuite/tests/hotkey.spec.ts:1135:3
selection/native.spec.ts:928:1 › Delete the blank line between two dividers: tests/utils/asserts.ts#L222
1) selection/native.spec.ts:928:1 › Delete the blank line between two dividers ─────────────────── Error: expect(received).toEqual(expected) // deep equality Expected: 2 Received: 1 at utils/asserts.ts:222 220 | export async function assertDivider(page: Page, count: number) { 221 | const actual = await page.locator('affine-divider').count(); > 222 | expect(actual).toEqual(count); | ^ 223 | } 224 | 225 | export async function assertRichDragButton(page: Page) { at assertDivider (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:222:18) at /home/runner/work/blocksuite/blocksuite/tests/selection/native.spec.ts:941:3
selection/native.spec.ts:1781:1 › press ArrowUp and ArrowDown in the edge of two line: tests/utils/asserts.ts#L301
2) selection/native.spec.ts:1781:1 › press ArrowUp and ArrowDown in the edge of two line ───────── Error: expect(received).toEqual(expected) // deep equality - Expected - 1 + Received + 1 Object { - "index": 0, + "index": 9, "length": 0, } at utils/asserts.ts:301 299 | [richTextIndex, currentEditorIndex] 300 | ); > 301 | expect(actual).toEqual({ index: rangeIndex, length: rangeLength }); | ^ 302 | } 303 | 304 | export async function assertNativeSelectionRangeCount( at assertRichTextInlineRange (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:301:18) at /home/runner/work/blocksuite/blocksuite/tests/selection/native.spec.ts:1861:3
slash-menu.spec.ts:341:3 › slash search › should slash menu search and keyboard works: tests/slash-menu.spec.ts#L383
3) slash-menu.spec.ts:341:3 › slash search › should slash menu search and keyboard works ───────── Error: Timed out 5000ms waiting for expect(locator).toBeVisible() Locator: locator('.slash-menu') Expected: visible Received: hidden Call log: - expect.toBeVisible with timeout 5000ms - waiting for locator('.slash-menu') 381 | 382 | await type(page, '/'); > 383 | await expect(slashMenu).toBeVisible(); | ^ 384 | // first item should be selected by default 385 | await expect(slashItems.first()).toHaveAttribute('hover', 'true'); 386 | at /home/runner/work/blocksuite/blocksuite/tests/slash-menu.spec.ts:383:29
list.spec.ts:719:3 › toggle list › click toggle icon should collapsed list: tests/list.spec.ts#L716
1) list.spec.ts:719:3 › toggle list › click toggle icon should collapsed list ──────────────────── Error: expect(received).toBe(expected) // Object.is equality Expected: false Received: true 714 | 715 | async function assertToggleIconVisible(toggleIcon: Locator, expected = true) { > 716 | expect(await isToggleIconVisible(toggleIcon)).toBe(expected); | ^ 717 | } 718 | 719 | test('click toggle icon should collapsed list', async ({ page }) => { at assertToggleIconVisible (/home/runner/work/blocksuite/blocksuite/tests/list.spec.ts:716:51) at /home/runner/work/blocksuite/blocksuite/tests/list.spec.ts:823:5
paragraph.spec.ts:75:1 › init paragraph by page title enter in middle: tests/utils/asserts.ts#L138
2) paragraph.spec.ts:75:1 › init paragraph by page title enter in middle ───────────────────────── Error: expect(received).toBe(expected) // Object.is equality Expected: "he" Received: "hel" at utils/asserts.ts:138 136 | const inlineEditor = editor.locator('.doc-title-container').first(); 137 | const vText = inlineEditorInnerTextToString(await inlineEditor.innerText()); > 138 | expect(vText).toBe(text); | ^ 139 | } 140 | 141 | export async function assertInlineEditorDeltas( at assertTitle (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:138:17) at /home/runner/work/blocksuite/blocksuite/tests/paragraph.spec.ts:86:3
paragraph.spec.ts:1168:1 › handling keyup when cursor located in first paragraph: tests/utils/asserts.ts#L250
3) paragraph.spec.ts:1168:1 › handling keyup when cursor located in first paragraph ────────────── Error: Timed out 5000ms waiting for expect(locator).toBeFocused() Locator: locator('doc-title .inline-editor').first() Expected: focused Received: inactive Call log: - expect.toBeFocused with timeout 5000ms - waiting for locator('doc-title .inline-editor').first() - locator resolved to <div data-v-root="true" contenteditable="true" class=…>…</div> - unexpected value "not focused" - locator resolved to <div data-v-root="true" contenteditable="true" class=…>…</div> - unexpected value "not focused" - locator resolved to <div data-v-root="true" contenteditable="true" class=…>…</div> - unexpected value "not focused" - locator resolved to <div data-v-root="true" contenteditable="true" class=…>…</div> - unexpected value "not focused" - locator resolved to <div data-v-root="true" contenteditable="true" class=…>…</div> - unexpected value "not focused" - locator resolved to <div data-v-root="true" contenteditable="true" class=…>…</div> - unexpected value "not focused" - locator resolved to <div data-v-root="true" contenteditable="true" class=…>…</div> - unexpected value "not focused" - locator resolved to <div data-v-root="true" contenteditable="true" class=…>…</div> - unexpected value "not focused" - locator resolved to <div data-v-root="true" contenteditable="true" class=…>…</div> - unexpected value "not focused" at utils/asserts.ts:250 248 | export async function assertPageTitleFocus(page: Page) { 249 | const locator = page.locator('doc-title .inline-editor').nth(0); > 250 | await expect(locator).toBeFocused(); | ^ 251 | } 252 | 253 | export async function assertListPrefix( at assertPageTitleFocus (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:250:25) at /home/runner/work/blocksuite/blocksuite/tests/paragraph.spec.ts:1182:9
edgeless/auto-complete.spec.ts:111:5 › auto-complete › drag on auto-complete button › drag on right auto-complete button to add note: tests/utils/asserts.ts#L196
1) edgeless/auto-complete.spec.ts:111:5 › auto-complete › drag on auto-complete button › drag on right auto-complete button to add note Error: expect(received).toEqual(expected) // deep equality - Expected - 1 + Received + 1 Array [ - "hello", + "ello", ] at utils/asserts.ts:196 194 | }); 195 | }, currentEditorIndex); > 196 | expect(actualTexts).toEqual(texts); | ^ 197 | } 198 | 199 | export async function assertEdgelessCanvasText(page: Page, text: string) { at assertRichTexts (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:196:23) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/auto-complete.spec.ts:127:7
paragraph.spec.ts:1585:1 › paragraph indent and delete in line start: tests/paragraph.spec.ts#L1
1) paragraph.spec.ts:1585:1 › paragraph indent and delete in line start ────────────────────────── Test finished within timeout of 30000ms, but tearing down "context" ran out of time. Please allow more time for the test, since teardown is attributed towards the test timeout budget.
selection/block.spec.ts:136:1 › click the list icon can select and copy: tests/utils/asserts.ts#L196
2) selection/block.spec.ts:136:1 › click the list icon can select and copy ─────────────────────── Error: expect(received).toEqual(expected) // deep equality - Expected - 1 + Received + 1 Array [ - "123", + "23", "456", "789", ] at utils/asserts.ts:196 194 | }); 195 | }, currentEditorIndex); > 196 | expect(actualTexts).toEqual(texts); | ^ 197 | } 198 | 199 | export async function assertEdgelessCanvasText(page: Page, text: string) { at assertRichTexts (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:196:23) at /home/runner/work/blocksuite/blocksuite/tests/selection/block.spec.ts:140:3
selection/block.spec.ts:136:1 › click the list icon can select and copy: tests/utils/asserts.ts#L196
2) selection/block.spec.ts:136:1 › click the list icon can select and copy ─────────────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toEqual(expected) // deep equality - Expected - 1 + Received + 1 Array [ - "123", + "23", "456", "789", ] at utils/asserts.ts:196 194 | }); 195 | }, currentEditorIndex); > 196 | expect(actualTexts).toEqual(texts); | ^ 197 | } 198 | 199 | export async function assertEdgelessCanvasText(page: Page, text: string) { at assertRichTexts (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:196:23) at /home/runner/work/blocksuite/blocksuite/tests/selection/block.spec.ts:140:3
edgeless/shape.spec.ts:65:3 › add shape › with holding shift key: tests/edgeless/shape.spec.ts#L1
1) edgeless/shape.spec.ts:65:3 › add shape › with holding shift key ────────────────────────────── Test timeout of 30000ms exceeded.
edgeless/shape.spec.ts:65:3 › add shape › with holding shift key: tests/utils/actions/drag.ts#L21
1) edgeless/shape.spec.ts:65:3 › add shape › with holding shift key ────────────────────────────── Error: mouse.move: Test timeout of 30000ms exceeded. at utils/actions/drag.ts:21 19 | await page.mouse.move(x1, y1); 20 | await page.mouse.down(); > 21 | await page.mouse.move(x2, y2, { steps }); | ^ 22 | await options?.beforeMouseUp?.(); 23 | await page.mouse.up(); 24 | } at dragBetweenCoords (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/drag.ts:21:20) at addBasicRectShapeElement (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:347:3) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/shape.spec.ts:85:5
edgeless/shape.spec.ts:92:1 › delete shape by component-toolbar: tests/edgeless/shape.spec.ts#L1
2) edgeless/shape.spec.ts:92:1 › delete shape by component-toolbar ─────────────────────────────── Test timeout of 30000ms exceeded.
edgeless/basic.spec.ts:67:1 › can zoom viewport: tests/edgeless/basic.spec.ts#L1
1) edgeless/basic.spec.ts:67:1 › can zoom viewport ─────────────────────────────────────────────── Test timeout of 30000ms exceeded.
edgeless/basic.spec.ts:67:1 › can zoom viewport: tests/utils/actions/misc.ts#L289
1) edgeless/basic.spec.ts:67:1 › can zoom viewport ─────────────────────────────────────────────── Error: page.waitForTimeout: Test timeout of 30000ms exceeded. at utils/actions/misc.ts:289 287 | frameTimeout = NEXT_FRAME_TIMEOUT 288 | ) { > 289 | await page.waitForTimeout(frameTimeout); | ^ 290 | } 291 | 292 | export async function waitForPageReady(page: Page) { at waitNextFrame (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/misc.ts:289:14) at getZoomLevel (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:641:9) at assertZoomLevel (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:893:13) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/basic.spec.ts:82:3
edgeless/basic.spec.ts:97:1 › zoom by mouse: tests/edgeless/basic.spec.ts#L1
2) edgeless/basic.spec.ts:97:1 › zoom by mouse ─────────────────────────────────────────────────── Test timeout of 30000ms exceeded.
edgeless/basic.spec.ts:97:1 › zoom by mouse: tests/utils/asserts.ts#L787
2) edgeless/basic.spec.ts:97:1 › zoom by mouse ─────────────────────────────────────────────────── Error: locator.boundingBox: Test timeout of 30000ms exceeded. Call log: - waiting for locator('affine-editor-container').first().locator('edgeless-selected-rect').locator('.affine-edgeless-selected-rect') at utils/asserts.ts:787 785 | .locator('edgeless-selected-rect') 786 | .locator('.affine-edgeless-selected-rect'); > 787 | const box = await selectedRect.boundingBox(); | ^ 788 | if (!box) throw new Error('Missing edgeless selected rect'); 789 | 790 | expect(box.x).toBeCloseTo(x, 0); at assertEdgelessSelectedRect (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:787:34) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/basic.spec.ts:115:9
edgeless/basic.spec.ts:118:1 › option/alt mouse drag duplicate a new element: tests/edgeless/basic.spec.ts#L1
3) edgeless/basic.spec.ts:118:1 › option/alt mouse drag duplicate a new element ────────────────── Test timeout of 30000ms exceeded.
edgeless/basic.spec.ts:118:1 › option/alt mouse drag duplicate a new element: tests/utils/actions/drag.ts#L21
3) edgeless/basic.spec.ts:118:1 › option/alt mouse drag duplicate a new element ────────────────── Error: mouse.move: Test timeout of 30000ms exceeded. at utils/actions/drag.ts:21 19 | await page.mouse.move(x1, y1); 20 | await page.mouse.down(); > 21 | await page.mouse.move(x2, y2, { steps }); | ^ 22 | await options?.beforeMouseUp?.(); 23 | await page.mouse.up(); 24 | } at dragBetweenCoords (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/drag.ts:21:20) at addBasicShapeElement (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:357:3) at createShapeElement (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:1229:3) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/basic.spec.ts:127:3
edgeless/group.spec.ts:270:5 › group › release from group › release group from group: tests/edgeless/group.spec.ts#L233
1) edgeless/group.spec.ts:270:5 › group › release from group › release group from group ────────── Test timeout of 30000ms exceeded while running "beforeEach" hook. 231 | 232 | test.describe('release from group', () => { > 233 | test.beforeEach(async ({ page }) => { | ^ 234 | await init(page); 235 | await createShapeElement(page, [200, 0], [300, 100], Shape.Square); 236 | await selectAllByKeyboard(page); at /home/runner/work/blocksuite/blocksuite/tests/edgeless/group.spec.ts:233:10
edgeless/group.spec.ts:270:5 › group › release from group › release group from group: tests/utils/actions/drag.ts#L21
1) edgeless/group.spec.ts:270:5 › group › release from group › release group from group ────────── Error: mouse.move: Test timeout of 30000ms exceeded. at utils/actions/drag.ts:21 19 | await page.mouse.move(x1, y1); 20 | await page.mouse.down(); > 21 | await page.mouse.move(x2, y2, { steps }); | ^ 22 | await options?.beforeMouseUp?.(); 23 | await page.mouse.up(); 24 | } at dragBetweenCoords (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/drag.ts:21:20) at addBasicShapeElement (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:357:3) at createShapeElement (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:1229:3) at init (/home/runner/work/blocksuite/blocksuite/tests/edgeless/group.spec.ts:43:5) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/group.spec.ts:234:7
edgeless/group.spec.ts:327:5 › group › delete › delete root group: tests/edgeless/group.spec.ts#L323
2) edgeless/group.spec.ts:327:5 › group › delete › delete root group ───────────────────────────── Test timeout of 30000ms exceeded while running "beforeEach" hook. 321 | 322 | test.describe('delete', () => { > 323 | test.beforeEach(async ({ page }) => { | ^ 324 | await init(page); 325 | }); 326 | at /home/runner/work/blocksuite/blocksuite/tests/edgeless/group.spec.ts:323:10
edgeless/group.spec.ts:327:5 › group › delete › delete root group: tests/utils/actions/drag.ts#L21
2) edgeless/group.spec.ts:327:5 › group › delete › delete root group ───────────────────────────── Error: mouse.move: Test timeout of 30000ms exceeded. at utils/actions/drag.ts:21 19 | await page.mouse.move(x1, y1); 20 | await page.mouse.down(); > 21 | await page.mouse.move(x2, y2, { steps }); | ^ 22 | await options?.beforeMouseUp?.(); 23 | await page.mouse.up(); 24 | } at dragBetweenCoords (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/drag.ts:21:20) at addBasicShapeElement (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:357:3) at createShapeElement (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:1229:3) at init (/home/runner/work/blocksuite/blocksuite/tests/edgeless/group.spec.ts:43:5) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/group.spec.ts:324:7
edgeless/group.spec.ts:344:5 › group › delete › delete sub-element in group: tests/edgeless/group.spec.ts#L323
3) edgeless/group.spec.ts:344:5 › group › delete › delete sub-element in group ─────────────────── Test timeout of 30000ms exceeded while running "beforeEach" hook. 321 | 322 | test.describe('delete', () => { > 323 | test.beforeEach(async ({ page }) => { | ^ 324 | await init(page); 325 | }); 326 | at /home/runner/work/blocksuite/blocksuite/tests/edgeless/group.spec.ts:323:10
edgeless/group.spec.ts:344:5 › group › delete › delete sub-element in group: tests/utils/actions/drag.ts#L21
3) edgeless/group.spec.ts:344:5 › group › delete › delete sub-element in group ─────────────────── Error: mouse.move: Test timeout of 30000ms exceeded. at utils/actions/drag.ts:21 19 | await page.mouse.move(x1, y1); 20 | await page.mouse.down(); > 21 | await page.mouse.move(x2, y2, { steps }); | ^ 22 | await options?.beforeMouseUp?.(); 23 | await page.mouse.up(); 24 | } at dragBetweenCoords (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/drag.ts:21:20) at addBasicShapeElement (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:357:3) at createShapeElement (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:1229:3) at init (/home/runner/work/blocksuite/blocksuite/tests/edgeless/group.spec.ts:43:5) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/group.spec.ts:324:7
edgeless/note.spec.ts:127:1 › resize note then auto size and custom size: tests/utils/asserts.ts#L771
4) edgeless/note.spec.ts:127:1 › resize note then auto size and custom size ────────────────────── Error: expect(received).toBeCloseTo(expected, precision) Expected: 191 Received: 91 Expected precision: 0 Expected difference: < 0.5 Received difference: 100 at utils/asserts.ts:771 769 | expect(a.y).toBeCloseTo(b.y, 0); 770 | expect(a.w).toBeCloseTo(b.w, 0); > 771 | expect(a.h).toBeCloseTo(b.h, 0); | ^ 772 | } 773 | 774 | export function assertDOMRectEqual(a: DOMRect, b: DOMRect) { at assertRectEqual (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:771:15) at assertNoteRectEqual (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:764:3) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/note.spec.ts:176:3
edgeless/note.spec.ts:127:1 › resize note then auto size and custom size: tests/utils/asserts.ts#L771
4) edgeless/note.spec.ts:127:1 › resize note then auto size and custom size ────────────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toBeCloseTo(expected, precision) Expected: 91 Received: 95 Expected precision: 0 Expected difference: < 0.5 Received difference: 4 at utils/asserts.ts:771 769 | expect(a.y).toBeCloseTo(b.y, 0); 770 | expect(a.w).toBeCloseTo(b.w, 0); > 771 | expect(a.h).toBeCloseTo(b.h, 0); | ^ 772 | } 773 | 774 | export function assertDOMRectEqual(a: DOMRect, b: DOMRect) { at assertRectEqual (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:771:15) at assertNoteRectEqual (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:764:3) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/note.spec.ts:172:3
edgeless/note.spec.ts:127:1 › resize note then auto size and custom size: tests/utils/asserts.ts#L771
4) edgeless/note.spec.ts:127:1 › resize note then auto size and custom size ────────────────────── Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toBeCloseTo(expected, precision) Expected: 91 Received: 95 Expected precision: 0 Expected difference: < 0.5 Received difference: 4 at utils/asserts.ts:771 769 | expect(a.y).toBeCloseTo(b.y, 0); 770 | expect(a.w).toBeCloseTo(b.w, 0); > 771 | expect(a.h).toBeCloseTo(b.h, 0); | ^ 772 | } 773 | 774 | export function assertDOMRectEqual(a: DOMRect, b: DOMRect) { at assertRectEqual (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:771:15) at assertNoteRectEqual (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:764:3) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/note.spec.ts:172:3
edgeless/note.spec.ts:809:1 › continuous undo and redo (note block add operation) should work: tests/utils/actions/misc.ts#L248
5) edgeless/note.spec.ts:809:1 › continuous undo and redo (note block add operation) should work ─ Error: expect(received).toBe(expected) // Object.is equality - Expected - 1 + Received + 7 - Please remove the "console.log" or declare `expectConsoleMessage` before `enterPlaygroundRoom`. It is advised not to output logs in a production environment. + Unexpected console message: Error: val does not exist + at assertExists (http://localhost:5173/@fs/home/runner/work/blocksuite/blocksuite/packages/global/src/utils/assert.ts:1309:11) + at Clipboard.readFromClipboard (http://localhost:5173/@fs/home/runner/work/blocksuite/blocksuite/packages/block-std/src/clipboard/index.ts:2565:5) + at EdgelessClipboardController._onPaste (http://localhost:5173/@fs/home/runner/work/blocksuite/blocksuite/packages/blocks/src/page-block/edgeless/controllers/clipboard.ts:8587:66) + at host.handleEvent.global (http://localhost:5173/@fs/home/runner/work/blocksuite/blocksuite/packages/blocks/src/page-block/edgeless/controllers/clipboard.ts:8444:14) + at UIEventDispatcher.run (http://localhost:5173/@fs/home/runner/work/blocksuite/blocksuite/packages/block-std/src/event/dispatcher.ts:2468:49) + at ClipboardControl._paste (http://localhost:5173/@fs/home/runner/work/blocksuite/blocksuite/packages/block-std/src/event/control/clipboard.ts:377:24) at utils/actions/misc.ts:248 246 | expect 247 | .soft('Unexpected console message: ' + message.text()) > 248 | .toBe( | ^ 249 | 'Please remove the "console.log" or declare `expectConsoleMessage` before `enterPlaygroundRoom`. It is advised not to output logs in a production environment.' 250 | ); 251 | } at Page.<anonymous> (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/misc.ts:248:10)
🎭 Playwright Run Summary
12 passed (22.6s)
🎭 Playwright Run Summary
2 flaky attachment.spec.ts:261:1 › should rename attachment works ────────────────────────────────────── attachment.spec.ts:300:1 › should turn attachment to image works ─────────────────────────────── 16 skipped 47 passed (2.8m)
🎭 Playwright Run Summary
2 flaky clipboard.spec.ts:919:1 › should copy and paste of database work ─────────────────────────────── clipboard.spec.ts:1016:1 › copy canvas element and text note in edgeless mode ────────────────── 7 skipped 55 passed (3.0m)
🎭 Playwright Run Summary
3 flaky hotkey.spec.ts:131:1 › multi line rich-text inline code hotkey ───────────────────────────────── hotkey.spec.ts:303:1 › single line rich-text strikethrough hotkey ────────────────────────────── hotkey.spec.ts:1123:1 › should ctrl+enter create new block ───────────────────────────────────── 5 skipped 56 passed (3.2m)
🎭 Playwright Run Summary
3 flaky selection/native.spec.ts:928:1 › Delete the blank line between two dividers ──────────────────── selection/native.spec.ts:1781:1 › press ArrowUp and ArrowDown in the edge of two line ────────── slash-menu.spec.ts:341:3 › slash search › should slash menu search and keyboard works ────────── 2 skipped 59 passed (3.2m)
🎭 Playwright Run Summary
3 flaky list.spec.ts:719:3 › toggle list › click toggle icon should collapsed list ───────────────────── paragraph.spec.ts:75:1 › init paragraph by page title enter in middle ────────────────────────── paragraph.spec.ts:1168:1 › handling keyup when cursor located in first paragraph ─────────────── 61 passed (3.3m)
🎭 Playwright Run Summary
1 flaky edgeless/auto-complete.spec.ts:111:5 › auto-complete › drag on auto-complete button › drag on right auto-complete button to add note 63 passed (3.3m)
🎭 Playwright Run Summary
2 flaky paragraph.spec.ts:1585:1 › paragraph indent and delete in line start ─────────────────────────── selection/block.spec.ts:136:1 › click the list icon can select and copy ──────────────────────── 1 skipped 61 passed (3.3m)
🎭 Playwright Run Summary
2 flaky edgeless/shape.spec.ts:65:3 › add shape › with holding shift key ─────────────────────────────── edgeless/shape.spec.ts:92:1 › delete shape by component-toolbar ──────────────────────────────── 1 skipped 61 passed (3.5m)
🎭 Playwright Run Summary
3 flaky edgeless/basic.spec.ts:67:1 › can zoom viewport ──────────────────────────────────────────────── edgeless/basic.spec.ts:97:1 › zoom by mouse ──────────────────────────────────────────────────── edgeless/basic.spec.ts:118:1 › option/alt mouse drag duplicate a new element ─────────────────── 3 skipped 58 passed (4.5m)
🎭 Playwright Run Summary
5 flaky edgeless/group.spec.ts:270:5 › group › release from group › release group from group ─────────── edgeless/group.spec.ts:327:5 › group › delete › delete root group ────────────────────────────── edgeless/group.spec.ts:344:5 › group › delete › delete sub-element in group ──────────────────── edgeless/note.spec.ts:127:1 › resize note then auto size and custom size ─────────────────────── edgeless/note.spec.ts:809:1 › continuous undo and redo (note block add operation) should work ── 59 passed (4.6m)