Skip to content

fix(edgeless): wrong transparent shape overlay #15385

fix(edgeless): wrong transparent shape overlay

fix(edgeless): wrong transparent shape overlay #15385

Status Success
Total duration 6m 20s
Artifacts 1

test.yaml

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

Annotations

44 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#L93
1) attachment.spec.ts:261:1 › should rename attachment works ───────────────────────────────────── Error: locator.hover: Test timeout of 30000ms exceeded. Call log: - waiting for locator('affine-attachment') - locator resolved to <affine-attachment class="" data-block-id="3">…</affine-attachment> - attempting hover action - waiting for element to be visible and stable 91 | }, 92 | rename: async (newName: string) => { > 93 | await attachment.hover(); | ^ 94 | await expect(options).toBeVisible(); 95 | await renameBtn.click(); 96 | await page.keyboard.press(`${SHORT_KEY}+a`, { delay: 50 }); at rename (/home/runner/work/blocksuite/blocksuite/tests/attachment.spec.ts:93:24) at /home/runner/work/blocksuite/blocksuite/tests/attachment.spec.ts:294:9
bookmark.spec.ts:54:1 › create bookmark by slash menu: tests/utils/actions/misc.ts#L247
2) bookmark.spec.ts:54:1 › create bookmark by slash menu ───────────────────────────────────────── Error: expect(received).toBe(expected) // Object.is equality Expected: "Please remove the \"console.log\" or declare `expectConsoleMessage` before `enterPlaygroundRoom`. It is advised not to output logs in a production environment." Received: "Unexpected console message: Failed to parse query! Current range is not a text node. Range" at utils/actions/misc.ts:247 245 | expect 246 | .soft('Unexpected console message: ' + message.text()) > 247 | .toBe( | ^ 248 | 'Please remove the "console.log" or declare `expectConsoleMessage` before `enterPlaygroundRoom`. It is advised not to output logs in a production environment.' 249 | ); 250 | } at Page.<anonymous> (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/misc.ts:247:10)
bookmark.spec.ts:54:1 › create bookmark by slash menu: tests/utils/actions/misc.ts#L247
2) bookmark.spec.ts:54:1 › create bookmark by slash menu ───────────────────────────────────────── Error: expect(received).toBe(expected) // Object.is equality Expected: "Please remove the \"console.log\" or declare `expectConsoleMessage` before `enterPlaygroundRoom`. It is advised not to output logs in a production environment." Received: "Unexpected console message: Failed to parse query! Current range is not a text node. Range" at utils/actions/misc.ts:247 245 | expect 246 | .soft('Unexpected console message: ' + message.text()) > 247 | .toBe( | ^ 248 | 'Please remove the "console.log" or declare `expectConsoleMessage` before `enterPlaygroundRoom`. It is advised not to output logs in a production environment.' 249 | ); 250 | } at Page.<anonymous> (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/misc.ts:247:10)
bookmark.spec.ts:234:1 › copy url to create bookmark in edgeless mode: tests/utils/actions/misc.ts#L247
3) bookmark.spec.ts:234:1 › copy url to create bookmark in edgeless mode ───────────────────────── Error: expect(received).toBe(expected) // Object.is equality Expected: "Please remove the \"console.log\" or declare `expectConsoleMessage` before `enterPlaygroundRoom`. It is advised not to output logs in a production environment." Received: "Unexpected console message: Failed to parse query! Current range is not a text node. Range" at utils/actions/misc.ts:247 245 | expect 246 | .soft('Unexpected console message: ' + message.text()) > 247 | .toBe( | ^ 248 | 'Please remove the "console.log" or declare `expectConsoleMessage` before `enterPlaygroundRoom`. It is advised not to output logs in a production environment.' 249 | ); 250 | } at Page.<anonymous> (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/misc.ts:247:10)
bookmark.spec.ts:291:1 › support dragging bookmark block directly: tests/utils/actions/misc.ts#L247
4) bookmark.spec.ts:291:1 › support dragging bookmark block directly ───────────────────────────── Error: expect(received).toBe(expected) // Object.is equality Expected: "Please remove the \"console.log\" or declare `expectConsoleMessage` before `enterPlaygroundRoom`. It is advised not to output logs in a production environment." Received: "Unexpected console message: Failed to clean text! Text mismatch expected: /lin but actual: inks" at utils/actions/misc.ts:247 245 | expect 246 | .soft('Unexpected console message: ' + message.text()) > 247 | .toBe( | ^ 248 | 'Please remove the "console.log" or declare `expectConsoleMessage` before `enterPlaygroundRoom`. It is advised not to output logs in a production environment.' 249 | ); 250 | } at Page.<anonymous> (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/misc.ts:247:10)
bookmark.spec.ts:291:1 › support dragging bookmark block directly: tests/utils/asserts.ts#L623
4) bookmark.spec.ts:291:1 › support dragging bookmark block directly ───────────────────────────── Error: <affine:page> <affine:note prop:background="--affine-background-secondary-color" prop:edgeless={ Object { "style": Object { "borderRadius": 8, "borderSize": 4, "borderStyle": "solid", "shadowType": "--affine-note-shadow-box", }, } } prop:hidden={false} prop:index="a0" > <affine:paragraph prop:text={ <> <text insert="/linkshttp://localhost" underline={true} /> </> } prop:type="text" /> <affine:paragraph prop:type="text" /> </affine:note> </affine:page> expect(received).toEqual(expected) // deep equality - Expected - 10 + Received + 13 @@ -12,18 +12,21 @@ } } prop:hidden={false} prop:index="a0" > - <affine:bookmark + <affine:paragraph - prop:caption={null} - prop:description={null} - prop:icon={null} - prop:image={null} - prop:index="a0" - prop:rotate={0} + prop:text={ + <> + <text + insert="/linkshttp://localhost" + underline={true} + /> + </> + } - prop:style="horizontal" - prop:title={null} - prop:url="http://localhost" + prop:type="text" + /> + <affine:paragraph + prop:type="text" /> </affine:note> </affine:page> at utils/asserts.ts:623 621 | printFunctionName: false, 622 | }); > 623 | expect(formattedJSX, formattedJSX).toEqual(snapshot.trimStart()); | ^ 624 | } 625 | 626 | type MimeType = 'text/plain' | 'blocksuite/x-c+w' | 'text/html'; at assertStoreMatchJSX (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:623:38) at /home/runner/work/blocksuite/blocksuite/tests/bookmark.spec.ts:293:3
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#L198
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:198 196 | }); 197 | }, currentEditorIndex); > 198 | expect(actualTexts).toEqual(texts); | ^ 199 | } 200 | 201 | export async function assertEdgelessCanvasText(page: Page, text: string) { at assertRichTexts (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:198:23) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/auto-complete.spec.ts:127:7
list.spec.ts:589:3 › indent correctly when deleting list item › merge two lists: tests/utils/asserts.ts#L198
1) list.spec.ts:589:3 › indent correctly when deleting list item › merge two lists ─────────────── Error: expect(received).toEqual(expected) // deep equality - Expected - 2 + Received + 0 Array [ - "a", "b", - "c", "", ] at utils/asserts.ts:198 196 | }); 197 | }, currentEditorIndex); > 198 | expect(actualTexts).toEqual(texts); | ^ 199 | } 200 | 201 | export async function assertEdgelessCanvasText(page: Page, text: string) { at assertRichTexts (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:198:23) at /home/runner/work/blocksuite/blocksuite/tests/list.spec.ts:605:5
paragraph.spec.ts:75:1 › init paragraph by page title enter in middle: tests/utils/asserts.ts#L140
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:140 138 | const inlineEditor = editor.locator('.doc-title-container').first(); 139 | const vText = inlineEditorInnerTextToString(await inlineEditor.innerText()); > 140 | expect(vText).toBe(text); | ^ 141 | } 142 | 143 | export async function assertInlineEditorDeltas( at assertTitle (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:140:17) at /home/runner/work/blocksuite/blocksuite/tests/paragraph.spec.ts:86:3
edgeless/basic.spec.ts:118:1 › option/alt mouse drag duplicate a new element: tests/edgeless/basic.spec.ts#L1
1) 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
1) 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 optionMouseDrag (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:657:3) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/basic.spec.ts:128:3
edgeless/basic.spec.ts:139:1 › should cancel select when the selected point is outside the current selected element: tests/edgeless/basic.spec.ts#L1
2) edgeless/basic.spec.ts:139:1 › should cancel select when the selected point is outside the current selected element Test timeout of 30000ms exceeded.
edgeless/basic.spec.ts:139:1 › should cancel select when the selected point is outside the current selected element: tests/utils/asserts.ts#L789
2) edgeless/basic.spec.ts:139:1 › should cancel select when the selected point is outside the current selected element Error: locator.boundingBox: Target page, context or browser has been closed at utils/asserts.ts:789 787 | .locator('edgeless-selected-rect') 788 | .locator('.affine-edgeless-selected-rect'); > 789 | const box = await selectedRect.boundingBox(); | ^ 790 | if (!box) throw new Error('Missing edgeless selected rect'); 791 | 792 | expect(box.x).toBeCloseTo(x, 0); at assertEdgelessSelectedRect (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:789:34) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/basic.spec.ts:157:9
edgeless/basic.spec.ts:164:1 › the tooltip of more button should be hidden when the action menu is shown: tests/edgeless/basic.spec.ts#L1
3) edgeless/basic.spec.ts:164:1 › the tooltip of more button should be hidden when the action menu is shown 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
1) clipboard.spec.ts:1016:1 › copy canvas element and text note in edgeless mode ───────────────── 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:1078:1 › copy and paste to selection block selection: tests/utils/asserts.ts#L198
2) clipboard.spec.ts:1078:1 › copy and paste to selection block selection ──────────────────────── Error: expect(received).toEqual(expected) // deep equality - Expected - 1 + Received + 3 Array [ - "12341234", + "Database 1", + "", + "1234", ] at utils/asserts.ts:198 196 | }); 197 | }, currentEditorIndex); > 198 | expect(actualTexts).toEqual(texts); | ^ 199 | } 200 | 201 | export async function assertEdgelessCanvasText(page: Page, text: string) { at assertRichTexts (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:198:23) at /home/runner/work/blocksuite/blocksuite/tests/clipboard.spec.ts:1093:3
selection/native.spec.ts:514:1 › cursor move up and down through note: tests/selection/native.spec.ts#L523
1) selection/native.spec.ts:514:1 › cursor move up and down through note ───────────────────────── Error: expect(received).not.toBe(expected) // Object.is equality Expected: not "2" 521 | await pressArrowDown(page); 522 | currentId = (await getCursorBlockIdAndHeight(page))[0]; > 523 | expect(id).not.toBe(currentId); | ^ 524 | await pressArrowUp(page); 525 | currentId = (await getCursorBlockIdAndHeight(page))[0]; 526 | expect(id).toBe(currentId); at /home/runner/work/blocksuite/blocksuite/tests/selection/native.spec.ts:523:18
selection/native.spec.ts:583:1 › select all text with keyboard delete: tests/utils/asserts.ts#L198
2) selection/native.spec.ts:583:1 › select all text with keyboard delete ───────────────────────── Error: expect(received).toEqual(expected) // deep equality - Expected - 0 + Received + 2 Array [ "", + "456", + "789", ] at utils/asserts.ts:198 196 | }); 197 | }, currentEditorIndex); > 198 | expect(actualTexts).toEqual(texts); | ^ 199 | } 200 | 201 | export async function assertEdgelessCanvasText(page: Page, text: string) { at assertRichTexts (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:198:23) at /home/runner/work/blocksuite/blocksuite/tests/selection/native.spec.ts:608:3
edgeless/shape.spec.ts:92:1 › delete shape by component-toolbar: tests/edgeless/shape.spec.ts#L1
1) edgeless/shape.spec.ts:92:1 › delete shape by component-toolbar ─────────────────────────────── Test timeout of 30000ms exceeded.
edgeless/shape.spec.ts:92:1 › delete shape by component-toolbar: tests/utils/actions/edgeless.ts#L578
1) edgeless/shape.spec.ts:92:1 › delete shape by component-toolbar ─────────────────────────────── Error: locator.click: Test timeout of 30000ms exceeded. Call log: - waiting for locator('edgeless-component-toolbar edgeless-tool-icon-button').filter({ hasText: 'More' }) at utils/actions/edgeless.ts:578 576 | }); 577 | > 578 | await btn.click(); | ^ 579 | } 580 | 581 | export async function clickComponentToolbarMoreMenuButton( at openComponentToolbarMoreMenu (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:578:13) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/shape.spec.ts:102:9
format-bar.spec.ts:1503:1 › can extend format bar: tests/format-bar.spec.ts#L1509
2) format-bar.spec.ts:1503:1 › can extend format bar ───────────────────────────────────────────── Error: Timed out 5000ms waiting for expect(locator).toBeVisible() Locator: getByTestId('custom-format-bar-element') Expected: visible Received: hidden Call log: - expect.toBeVisible with timeout 5000ms - waiting for getByTestId('custom-format-bar-element') 1507 | await extendFormatBar(page); 1508 | await dragBetweenIndices(page, [0, 0], [2, 3]); > 1509 | await expect(page.getByTestId('custom-format-bar-element')).toBeVisible(); | ^ 1510 | }); 1511 | 1512 | test('format quick bar should not break cursor jumping', async ({ page }) => { at /home/runner/work/blocksuite/blocksuite/tests/format-bar.spec.ts:1509:63
hotkey.spec.ts:986:1 › should cut work single line: tests/utils/asserts.ts#L623
1) hotkey.spec.ts:986:1 › should cut work single line ──────────────────────────────────────────── Error: <affine:note prop:background="--affine-background-secondary-color" prop:edgeless={ Object { "style": Object { "borderRadius": 8, "borderSize": 4, "borderStyle": "solid", "shadowType": "--affine-note-shadow-box", }, } } prop:hidden={false} prop:index="a0" > <affine:paragraph prop:text="hello" prop:type="text" /> </affine:note> expect(received).toEqual(expected) // deep equality - Expected - 1 + Received + 1 @@ -12,9 +12,9 @@ } prop:hidden={false} prop:index="a0" > <affine:paragraph - prop:text="ho" + prop:text="hello" prop:type="text" /> </affine:note> at utils/asserts.ts:623 621 | printFunctionName: false, 622 | }); > 623 | expect(formattedJSX, formattedJSX).toEqual(snapshot.trimStart()); | ^ 624 | } 625 | 626 | type MimeType = 'text/plain' | 'blocksuite/x-c+w' | 'text/html'; at assertStoreMatchJSX (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:623:38) at /home/runner/work/blocksuite/blocksuite/tests/hotkey.spec.ts:995:3
hotkey.spec.ts:986:1 › should cut work single line: tests/utils/asserts.ts#L623
1) hotkey.spec.ts:986:1 › should cut work single line ──────────────────────────────────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: <affine:note prop:background="--affine-background-secondary-color" prop:edgeless={ Object { "style": Object { "borderRadius": 8, "borderSize": 4, "borderStyle": "solid", "shadowType": "--affine-note-shadow-box", }, } } prop:hidden={false} prop:index="a0" > <affine:paragraph prop:text="hello" prop:type="text" /> </affine:note> expect(received).toEqual(expected) // deep equality - Expected - 1 + Received + 1 @@ -12,9 +12,9 @@ } prop:hidden={false} prop:index="a0" > <affine:paragraph - prop:text="ho" + prop:text="hello" prop:type="text" /> </affine:note> at utils/asserts.ts:623 621 | printFunctionName: false, 622 | }); > 623 | expect(formattedJSX, formattedJSX).toEqual(snapshot.trimStart()); | ^ 624 | } 625 | 626 | type MimeType = 'text/plain' | 'blocksuite/x-c+w' | 'text/html'; at assertStoreMatchJSX (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:623:38) at /home/runner/work/blocksuite/blocksuite/tests/hotkey.spec.ts:995:3
hotkey.spec.ts:986:1 › should cut work single line: tests/utils/asserts.ts#L623
1) hotkey.spec.ts:986:1 › should cut work single line ──────────────────────────────────────────── Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: <affine:note prop:background="--affine-background-secondary-color" prop:edgeless={ Object { "style": Object { "borderRadius": 8, "borderSize": 4, "borderStyle": "solid", "shadowType": "--affine-note-shadow-box", }, } } prop:hidden={false} prop:index="a0" > <affine:paragraph prop:text="hello" prop:type="text" /> </affine:note> expect(received).toEqual(expected) // deep equality - Expected - 1 + Received + 1 @@ -12,9 +12,9 @@ } prop:hidden={false} prop:index="a0" > <affine:paragraph - prop:text="ho" + prop:text="hello" prop:type="text" /> </affine:note> at utils/asserts.ts:623 621 | printFunctionName: false, 622 | }); > 623 | expect(formattedJSX, formattedJSX).toEqual(snapshot.trimStart()); | ^ 624 | } 625 | 626 | type MimeType = 'text/plain' | 'blocksuite/x-c+w' | 'text/html'; at assertStoreMatchJSX (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:623:38) at /home/runner/work/blocksuite/blocksuite/tests/hotkey.spec.ts:995:3
image.spec.ts:84:1 › can click and delete image: tests/utils/asserts.ts#L219
2) image.spec.ts:84:1 › can click and delete image ─────────────────────────────────────────────── Error: expect(received).toEqual(expected) // deep equality Expected: 1 Received: 0 at utils/asserts.ts:219 217 | const editor = getEditorLocator(page); 218 | const actual = await editor.locator('.resizable-img').count(); > 219 | expect(actual).toEqual(count); | ^ 220 | } 221 | 222 | export async function assertDivider(page: Page, count: number) { at assertRichImage (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:219:18) at /home/runner/work/blocksuite/blocksuite/tests/image.spec.ts:94:3
image.spec.ts:100:1 › can click and copy image: tests/utils/asserts.ts#L219
3) image.spec.ts:100:1 › can click and copy image ──────────────────────────────────────────────── Error: expect(received).toEqual(expected) // deep equality Expected: 2 Received: 1 at utils/asserts.ts:219 217 | const editor = getEditorLocator(page); 218 | const actual = await editor.locator('.resizable-img').count(); > 219 | expect(actual).toEqual(count); | ^ 220 | } 221 | 222 | export async function assertDivider(page: Page, count: number) { at assertRichImage (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:219:18) at /home/runner/work/blocksuite/blocksuite/tests/image.spec.ts:112:3
selection/native.spec.ts:928:1 › Delete the blank line between two dividers: tests/utils/asserts.ts#L224
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:224 222 | export async function assertDivider(page: Page, count: number) { 223 | const actual = await page.locator('affine-divider').count(); > 224 | expect(actual).toEqual(count); | ^ 225 | } 226 | 227 | export async function assertRichDragButton(page: Page) { at assertDivider (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:224:18) at /home/runner/work/blocksuite/blocksuite/tests/selection/native.spec.ts:941:3
selection/native.spec.ts:928:1 › Delete the blank line between two dividers: tests/utils/asserts.ts#L224
1) selection/native.spec.ts:928:1 › Delete the blank line between two dividers ─────────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toEqual(expected) // deep equality Expected: 2 Received: 1 at utils/asserts.ts:224 222 | export async function assertDivider(page: Page, count: number) { 223 | const actual = await page.locator('affine-divider').count(); > 224 | expect(actual).toEqual(count); | ^ 225 | } 226 | 227 | export async function assertRichDragButton(page: Page) { at assertDivider (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:224:18) at /home/runner/work/blocksuite/blocksuite/tests/selection/native.spec.ts:941:3
selection/native.spec.ts:928:1 › Delete the blank line between two dividers: tests/utils/asserts.ts#L224
1) selection/native.spec.ts:928:1 › Delete the blank line between two dividers ─────────────────── Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toEqual(expected) // deep equality Expected: 2 Received: 1 at utils/asserts.ts:224 222 | export async function assertDivider(page: Page, count: number) { 223 | const actual = await page.locator('affine-divider').count(); > 224 | expect(actual).toEqual(count); | ^ 225 | } 226 | 227 | export async function assertRichDragButton(page: Page) { at assertDivider (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:224:18) at /home/runner/work/blocksuite/blocksuite/tests/selection/native.spec.ts:941:3
selection/native.spec.ts:1083:1 › should set the last block to end the range after when leaving the affine-note: tests/utils/asserts.ts#L198
2) selection/native.spec.ts:1083:1 › should set the last block to end the range after when leaving the affine-note Error: expect(received).toEqual(expected) // deep equality - Expected - 2 + Received + 2 Array [ - "123", - "456", + "123456", "789", + "", ] at utils/asserts.ts:198 196 | }); 197 | }, currentEditorIndex); > 198 | expect(actualTexts).toEqual(texts); | ^ 199 | } 200 | 201 | export async function assertEdgelessCanvasText(page: Page, text: string) { at assertRichTexts (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:198:23) at /home/runner/work/blocksuite/blocksuite/tests/selection/native.spec.ts:1089:3
selection/native.spec.ts:1327:1 › should unindent native multi-selection block: tests/utils/asserts.ts#L198
3) selection/native.spec.ts:1327:1 › should unindent native multi-selection block ──────────────── Error: expect(received).toEqual(expected) // deep equality - Expected - 2 + Received + 2 Array [ "123", - "456", - "789", + "456789", + "", ] at utils/asserts.ts:198 196 | }); 197 | }, currentEditorIndex); > 198 | expect(actualTexts).toEqual(texts); | ^ 199 | } 200 | 201 | export async function assertEdgelessCanvasText(page: Page, text: string) { at assertRichTexts (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:198:23) at /home/runner/work/blocksuite/blocksuite/tests/selection/native.spec.ts:1331:3
selection/native.spec.ts:1781:1 › press ArrowUp and ArrowDown in the edge of two line: tests/utils/asserts.ts#L303
4) 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:303 301 | [richTextIndex, currentEditorIndex] 302 | ); > 303 | expect(actual).toEqual({ index: rangeIndex, length: rangeLength }); | ^ 304 | } 305 | 306 | export async function assertNativeSelectionRangeCount( at assertRichTextInlineRange (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:303:18) at /home/runner/work/blocksuite/blocksuite/tests/selection/native.spec.ts:1861:3
selection/native.spec.ts:2018:1 › auto-scroll when creating a new paragraph-block by pressing enter: tests/selection/native.spec.ts#L2039
5) selection/native.spec.ts:2018:1 › auto-scroll when creating a new paragraph-block by pressing enter Error: expect(received).toBeGreaterThan(expected) Expected: > 1000 Received: 951 2037 | return viewport.scrollTop; 2038 | }); > 2039 | expect(scrollTop).toBeGreaterThan(1000); | ^ 2040 | }); 2041 | at /home/runner/work/blocksuite/blocksuite/tests/selection/native.spec.ts:2039:21
slash-menu.spec.ts:466:1 › slash menu should work in edgeless mode: tests/utils/asserts.ts#L198
6) slash-menu.spec.ts:466:1 › slash menu should work in edgeless mode ──────────────────────────── Error: expect(received).toEqual(expected) // deep equality - Expected - 1 + Received + 1 Array [ "", - "/", + "", ] at utils/asserts.ts:198 196 | }); 197 | }, currentEditorIndex); > 198 | expect(actualTexts).toEqual(texts); | ^ 199 | } 200 | 201 | export async function assertEdgelessCanvasText(page: Page, text: string) { at assertRichTexts (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:198:23) at /home/runner/work/blocksuite/blocksuite/tests/slash-menu.spec.ts:473:3
slash-menu.spec.ts:769:1 › delete block by slash menu should remove children: tests/utils/asserts.ts#L623
7) slash-menu.spec.ts:769:1 › delete block by slash menu should remove children ────────────────── Error: <affine:note prop:background="--affine-background-secondary-color" prop:edgeless={ Object { "style": Object { "borderRadius": 8, "borderSize": 4, "borderStyle": "solid", "shadowType": "--affine-note-shadow-box", }, } } prop:hidden={false} prop:index="a0" > <affine:list prop:checked={false} prop:collapsed={false} prop:text="23" prop:type="bulleted" /> </affine:note> expect(received).toEqual(expected) // deep equality - Expected - 1 + Received + 1 @@ -14,9 +14,9 @@ prop:index="a0" > <affine:list prop:checked={false} prop:collapsed={false} - prop:text="123" + prop:text="23" prop:type="bulleted" /> </affine:note> at utils/asserts.ts:623 621 | printFunctionName: false, 622 | }); > 623 | expect(formattedJSX, formattedJSX).toEqual(snapshot.trimStart()); | ^ 624 | } 625 | 626 | type MimeType = 'text/plain' | 'blocksuite/x-c+w' | 'text/html'; at assertStoreMatchJSX (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:623:38) at /home/runner/work/blocksuite/blocksuite/tests/slash-menu.spec.ts:785:3
edgeless/group.spec.ts:343:5 › group › delete › delete sub-element in group: tests/edgeless/group.spec.ts#L322
1) edgeless/group.spec.ts:343:5 › group › delete › delete sub-element in group ─────────────────── Test timeout of 30000ms exceeded while running "beforeEach" hook. 320 | 321 | test.describe('delete', () => { > 322 | test.beforeEach(async ({ page }) => { | ^ 323 | await init(page); 324 | }); 325 | at /home/runner/work/blocksuite/blocksuite/tests/edgeless/group.spec.ts:322:10
edgeless/group.spec.ts:343:5 › group › delete › delete sub-element in group: tests/utils/actions/drag.ts#L21
1) edgeless/group.spec.ts:343: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:1230: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:323:7
edgeless/group.spec.ts:365:5 › group › delete › delete group in group: tests/edgeless/group.spec.ts#L322
2) edgeless/group.spec.ts:365:5 › group › delete › delete group in group ───────────────────────── Test timeout of 30000ms exceeded while running "beforeEach" hook. 320 | 321 | test.describe('delete', () => { > 322 | test.beforeEach(async ({ page }) => { | ^ 323 | await init(page); 324 | }); 325 | at /home/runner/work/blocksuite/blocksuite/tests/edgeless/group.spec.ts:322:10
edgeless/group.spec.ts:365:5 › group › delete › delete group in group: tests/utils/actions/drag.ts#L21
2) edgeless/group.spec.ts:365:5 › group › delete › delete group 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:1230: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:323:7
edgeless/group.spec.ts:365:5 › group › delete › delete group in group: tests/edgeless/group.spec.ts#L1
2) edgeless/group.spec.ts:365:5 › group › delete › delete group in group ───────────────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Test finished within timeout of 30000ms, but tearing down "trace recording" ran out of time. Please allow more time for the test, since teardown is attributed towards the test timeout budget.
edgeless/group.spec.ts:406:5 › group › group title › edit group title by component toolbar: tests/edgeless/group.spec.ts#L400
3) edgeless/group.spec.ts:406:5 › group › group title › edit group title by component toolbar ──── Test timeout of 30000ms exceeded while running "beforeEach" hook. 398 | 399 | test.describe('group title', () => { > 400 | test.beforeEach(async ({ page }) => { | ^ 401 | await init(page); 402 | await selectAllByKeyboard(page); 403 | await triggerComponentToolbarAction(page, 'addGroup'); at /home/runner/work/blocksuite/blocksuite/tests/edgeless/group.spec.ts:400:10
edgeless/group.spec.ts:406:5 › group › group title › edit group title by component toolbar: tests/utils/actions/drag.ts#L21
3) edgeless/group.spec.ts:406:5 › group › group title › edit group title by component toolbar ──── 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:1230: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:401:7
edgeless/note.spec.ts:179:1 › add Note: tests/utils/asserts.ts#L198
4) edgeless/note.spec.ts:179:1 › add Note ──────────────────────────────────────────────────────── Error: expect(received).toEqual(expected) // deep equality - Expected - 1 + Received + 1 Array [ "", - "hello", + "ello", ] at utils/asserts.ts:198 196 | }); 197 | }, currentEditorIndex); > 198 | expect(actualTexts).toEqual(texts); | ^ 199 | } 200 | 201 | export async function assertEdgelessCanvasText(page: Page, text: string) { at assertRichTexts (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:198:23) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/note.spec.ts:188:3
🎭 Playwright Run Summary
12 passed (23.1s)
🎭 Playwright Run Summary
4 flaky attachment.spec.ts:261:1 › should rename attachment works ────────────────────────────────────── bookmark.spec.ts:54:1 › create bookmark by slash menu ────────────────────────────────────────── bookmark.spec.ts:234:1 › copy url to create bookmark in edgeless mode ────────────────────────── bookmark.spec.ts:291:1 › support dragging bookmark block directly ────────────────────────────── 16 skipped 45 passed (3.1m)
🎭 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 64 passed (3.5m)
🎭 Playwright Run Summary
2 flaky list.spec.ts:589:3 › indent correctly when deleting list item › merge two lists ──────────────── paragraph.spec.ts:75:1 › init paragraph by page title enter in middle ────────────────────────── 62 passed (3.1m)
🎭 Playwright Run Summary
3 flaky edgeless/basic.spec.ts:118:1 › option/alt mouse drag duplicate a new element ─────────────────── edgeless/basic.spec.ts:139:1 › should cancel select when the selected point is outside the current selected element edgeless/basic.spec.ts:164:1 › the tooltip of more button should be hidden when the action menu is shown 3 skipped 58 passed (4.4m)
🎭 Playwright Run Summary
2 flaky clipboard.spec.ts:1016:1 › copy canvas element and text note in edgeless mode ────────────────── clipboard.spec.ts:1078:1 › copy and paste to selection block selection ───────────────────────── 8 skipped 55 passed (2.9m)
🎭 Playwright Run Summary
2 flaky selection/native.spec.ts:514:1 › cursor move up and down through note ────────────────────────── selection/native.spec.ts:583:1 › select all text with keyboard delete ────────────────────────── 1 skipped 61 passed (3.4m)
🎭 Playwright Run Summary
2 flaky edgeless/shape.spec.ts:92:1 › delete shape by component-toolbar ──────────────────────────────── format-bar.spec.ts:1503:1 › can extend format bar ────────────────────────────────────────────── 1 skipped 61 passed (3.5m)
🎭 Playwright Run Summary
3 flaky hotkey.spec.ts:986:1 › should cut work single line ───────────────────────────────────────────── image.spec.ts:84:1 › can click and delete image ──────────────────────────────────────────────── image.spec.ts:100:1 › can click and copy image ───────────────────────────────────────────────── 5 skipped 56 passed (3.2m)
🎭 Playwright Run Summary
7 flaky selection/native.spec.ts:928:1 › Delete the blank line between two dividers ──────────────────── selection/native.spec.ts:1083:1 › should set the last block to end the range after when leaving the affine-note selection/native.spec.ts:1327:1 › should unindent native multi-selection block ───────────────── selection/native.spec.ts:1781:1 › press ArrowUp and ArrowDown in the edge of two line ────────── selection/native.spec.ts:2018:1 › auto-scroll when creating a new paragraph-block by pressing enter slash-menu.spec.ts:466:1 › slash menu should work in edgeless mode ───────────────────────────── slash-menu.spec.ts:769:1 › delete block by slash menu should remove children ─────────────────── 2 skipped 55 passed (3.8m)
🎭 Playwright Run Summary
4 flaky edgeless/group.spec.ts:343:5 › group › delete › delete sub-element in group ──────────────────── edgeless/group.spec.ts:365:5 › group › delete › delete group in group ────────────────────────── edgeless/group.spec.ts:406:5 › group › group title › edit group title by component toolbar ───── edgeless/note.spec.ts:179:1 › add Note ───────────────────────────────────────────────────────── 60 passed (4.6m)

Artifacts

Produced during runtime
Name Size
test-results-main Expired
64.5 MB