Skip to content

refactor: support multiple-editors #15047

refactor: support multiple-editors

refactor: support multiple-editors #15047

Triggered via pull request December 28, 2023 18:17
Status Failure
Total duration 6m 3s
Artifacts 1

test.yaml

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

Annotations

54 errors, 3 warnings, 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#L68
1) attachment.spec.ts:261:1 › should rename attachment works ───────────────────────────────────── Error: locator.innerText: Test timeout of 30000ms exceeded. Call log: - waiting for locator('affine-attachment').locator('.affine-attachment-name') 66 | 67 | const getName = () => > 68 | attachment.locator('.affine-attachment-name').innerText(); | ^ 69 | 70 | return { 71 | // locators at getName (/home/runner/work/blocksuite/blocksuite/tests/attachment.spec.ts:68:51) at /home/runner/work/blocksuite/blocksuite/tests/attachment.spec.ts:297:16
database/column.spec.ts:325:3 › switch column type › switch to progress: tests/utils/actions/misc.ts#L257
1) database/column.spec.ts:325:3 › switch column type › switch to progress ─────────────────────── Error: Uncaught exception: "TypeError: items is not iterable" TypeError: items is not iterable at utils/actions/misc.ts:257 255 | // Log all uncaught errors 256 | page.on('pageerror', exception => { > 257 | throw new Error(`Uncaught exception: "${exception}"\n${exception.stack}`); | ^ 258 | }); 259 | 260 | await initEmptyEditor({ at RepeatDirective._getValuesAndKeys (http://localhost:5173/node_modules/.vite/deps/lit_directives_repeat__js.js?v=7fc13afa:43:24) at RepeatDirective.update (http://localhost:5173/node_modules/.vite/deps/lit_directives_repeat__js.js?v=7fc13afa:58:55) at RepeatDirective._$resolve (http://localhost:5173/node_modules/.vite/deps/chunk-556GNVMM.js?v=c162ab7b:30:17) at resolveDirective (http://localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:323:53) at _ChildPart._$setValue (http://localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:458:13) at TemplateInstance._update (http://localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:389:16) at _ChildPart._commitTemplateResult (http://localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:588:16) at _ChildPart._$setValue (http://localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:476:12) at render (http://localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:919:8) at MultiTagView.update (http://localhost:5173/node_modules/.vite/deps/chunk-XNTR7L6D.js?v=c162ab7b:50:24) at RepeatDirective._getValuesAndKeys (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/lit_directives_repeat__js.js?v=7fc13afa:43:24) at RepeatDirective.update (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/lit_directives_repeat__js.js?v=7fc13afa:58:55) at RepeatDirective._$resolve (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/chunk-556GNVMM.js?v=c162ab7b:30:17) at resolveDirective (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:323:53) at _ChildPart._$setValue (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:458:13) at TemplateInstance._update (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:389:16) at _ChildPart._commitTemplateResult (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:588:16) at _ChildPart._$setValue (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:476:12) at render (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:919:8) at MultiTagView.update (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/chunk-XNTR7L6D.js?v=c162ab7b:50:24) at Page.<anonymous> (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/misc.ts:257:11)
database/column.spec.ts:325:3 › switch column type › switch to progress: tests/utils/actions/misc.ts#L257
1) database/column.spec.ts:325:3 › switch column type › switch to progress ─────────────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: Uncaught exception: "TypeError: items is not iterable" TypeError: items is not iterable at utils/actions/misc.ts:257 255 | // Log all uncaught errors 256 | page.on('pageerror', exception => { > 257 | throw new Error(`Uncaught exception: "${exception}"\n${exception.stack}`); | ^ 258 | }); 259 | 260 | await initEmptyEditor({ at RepeatDirective._getValuesAndKeys (http://localhost:5173/node_modules/.vite/deps/lit_directives_repeat__js.js?v=7fc13afa:43:24) at RepeatDirective.update (http://localhost:5173/node_modules/.vite/deps/lit_directives_repeat__js.js?v=7fc13afa:58:55) at RepeatDirective._$resolve (http://localhost:5173/node_modules/.vite/deps/chunk-556GNVMM.js?v=c162ab7b:30:17) at resolveDirective (http://localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:323:53) at _ChildPart._$setValue (http://localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:458:13) at TemplateInstance._update (http://localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:389:16) at _ChildPart._commitTemplateResult (http://localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:588:16) at _ChildPart._$setValue (http://localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:476:12) at render (http://localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:919:8) at MultiTagView.update (http://localhost:5173/node_modules/.vite/deps/chunk-XNTR7L6D.js?v=c162ab7b:50:24) at RepeatDirective._getValuesAndKeys (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/lit_directives_repeat__js.js?v=7fc13afa:43:24) at RepeatDirective.update (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/lit_directives_repeat__js.js?v=7fc13afa:58:55) at RepeatDirective._$resolve (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/chunk-556GNVMM.js?v=c162ab7b:30:17) at resolveDirective (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:323:53) at _ChildPart._$setValue (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:458:13) at TemplateInstance._update (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:389:16) at _ChildPart._commitTemplateResult (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:588:16) at _ChildPart._$setValue (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:476:12) at render (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:919:8) at MultiTagView.update (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/chunk-XNTR7L6D.js?v=c162ab7b:50:24) at Page.<anonymous> (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/misc.ts:257:11)
database/column.spec.ts:325:3 › switch column type › switch to progress: tests/utils/actions/misc.ts#L257
1) database/column.spec.ts:325:3 › switch column type › switch to progress ─────────────────────── Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: Uncaught exception: "TypeError: items is not iterable" TypeError: items is not iterable at utils/actions/misc.ts:257 255 | // Log all uncaught errors 256 | page.on('pageerror', exception => { > 257 | throw new Error(`Uncaught exception: "${exception}"\n${exception.stack}`); | ^ 258 | }); 259 | 260 | await initEmptyEditor({ at RepeatDirective._getValuesAndKeys (http://localhost:5173/node_modules/.vite/deps/lit_directives_repeat__js.js?v=7fc13afa:43:24) at RepeatDirective.update (http://localhost:5173/node_modules/.vite/deps/lit_directives_repeat__js.js?v=7fc13afa:58:55) at RepeatDirective._$resolve (http://localhost:5173/node_modules/.vite/deps/chunk-556GNVMM.js?v=c162ab7b:30:17) at resolveDirective (http://localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:323:53) at _ChildPart._$setValue (http://localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:458:13) at TemplateInstance._update (http://localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:389:16) at _ChildPart._commitTemplateResult (http://localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:588:16) at _ChildPart._$setValue (http://localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:476:12) at render (http://localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:919:8) at MultiTagView.update (http://localhost:5173/node_modules/.vite/deps/chunk-XNTR7L6D.js?v=c162ab7b:50:24) at RepeatDirective._getValuesAndKeys (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/lit_directives_repeat__js.js?v=7fc13afa:43:24) at RepeatDirective.update (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/lit_directives_repeat__js.js?v=7fc13afa:58:55) at RepeatDirective._$resolve (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/chunk-556GNVMM.js?v=c162ab7b:30:17) at resolveDirective (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:323:53) at _ChildPart._$setValue (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:458:13) at TemplateInstance._update (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:389:16) at _ChildPart._commitTemplateResult (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:588:16) at _ChildPart._$setValue (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:476:12) at render (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:919:8) at MultiTagView.update (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/chunk-XNTR7L6D.js?v=c162ab7b:50:24) at Page.<anonymous> (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/misc.ts:257:11)
database/column.spec.ts:325:3 › switch column type › switch to progress: tests/utils/actions/misc.ts#L257
1) database/column.spec.ts:325:3 › switch column type › switch to progress ─────────────────────── Retry #3 ─────────────────────────────────────────────────────────────────────────────────────── Error: Uncaught exception: "TypeError: items is not iterable" TypeError: items is not iterable at utils/actions/misc.ts:257 255 | // Log all uncaught errors 256 | page.on('pageerror', exception => { > 257 | throw new Error(`Uncaught exception: "${exception}"\n${exception.stack}`); | ^ 258 | }); 259 | 260 | await initEmptyEditor({ at RepeatDirective._getValuesAndKeys (http://localhost:5173/node_modules/.vite/deps/lit_directives_repeat__js.js?v=7fc13afa:43:24) at RepeatDirective.update (http://localhost:5173/node_modules/.vite/deps/lit_directives_repeat__js.js?v=7fc13afa:58:55) at RepeatDirective._$resolve (http://localhost:5173/node_modules/.vite/deps/chunk-556GNVMM.js?v=c162ab7b:30:17) at resolveDirective (http://localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:323:53) at _ChildPart._$setValue (http://localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:458:13) at TemplateInstance._update (http://localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:389:16) at _ChildPart._commitTemplateResult (http://localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:588:16) at _ChildPart._$setValue (http://localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:476:12) at render (http://localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:919:8) at MultiTagView.update (http://localhost:5173/node_modules/.vite/deps/chunk-XNTR7L6D.js?v=c162ab7b:50:24) at RepeatDirective._getValuesAndKeys (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/lit_directives_repeat__js.js?v=7fc13afa:43:24) at RepeatDirective.update (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/lit_directives_repeat__js.js?v=7fc13afa:58:55) at RepeatDirective._$resolve (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/chunk-556GNVMM.js?v=c162ab7b:30:17) at resolveDirective (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:323:53) at _ChildPart._$setValue (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:458:13) at TemplateInstance._update (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:389:16) at _ChildPart._commitTemplateResult (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:588:16) at _ChildPart._$setValue (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:476:12) at render (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/chunk-A74XXVPS.js?v=c162ab7b:919:8) at MultiTagView.update (/home/runner/work/blocksuite/blocksuite/http:/localhost:5173/node_modules/.vite/deps/chunk-XNTR7L6D.js?v=c162ab7b:50:24) at Page.<anonymous> (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/misc.ts:257:11)
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.
Playground E2E test (2)
Process completed with exit code 1.
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:986:1 › should cut work single line: tests/utils/asserts.ts#L621
2) 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:621 619 | printFunctionName: false, 620 | }); > 621 | expect(formattedJSX, formattedJSX).toEqual(snapshot.trimStart()); | ^ 622 | } 623 | 624 | type MimeType = 'text/plain' | 'blocksuite/x-c+w' | 'text/html'; at assertStoreMatchJSX (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:621:38) at /home/runner/work/blocksuite/blocksuite/tests/hotkey.spec.ts:995:3
image.spec.ts:100:1 › can click and copy image: tests/utils/asserts.ts#L217
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: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 /home/runner/work/blocksuite/blocksuite/tests/image.spec.ts:110:3
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 timeout of 30000ms exceeded.
paragraph.spec.ts:1585:1 › paragraph indent and delete in line start: tests/utils/actions/misc.ts#L1224
1) paragraph.spec.ts:1585:1 › paragraph indent and delete in line start ────────────────────────── Error: page.evaluate: Target page, context or browser has been closed at utils/actions/misc.ts:1224 1222 | 1223 | export async function getCurrentEditorPageId(page: Page) { > 1224 | return await page.evaluate(index => { | ^ 1225 | const editor = document.querySelectorAll('affine-editor-container')[index]; 1226 | if (!editor) throw new Error("Can't find affine-editor-container"); 1227 | const pageId = editor.page.id; at getCurrentEditorPageId (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/misc.ts:1224:21) at assertStoreMatchJSX (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:586:24) at /home/runner/work/blocksuite/blocksuite/tests/paragraph.spec.ts:1701:9
selection/native.spec.ts:514:1 › cursor move up and down through note: tests/selection/native.spec.ts#L523
2) 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
list.spec.ts:54:1 › add new toggle list: tests/list.spec.ts#L1
1) list.spec.ts:54:1 › add new toggle list ─────────────────────────────────────────────────────── Test timeout of 30000ms exceeded.
list.spec.ts:54:1 › add new toggle list: tests/utils/actions/misc.ts#L602
1) list.spec.ts:54:1 › add new toggle list ─────────────────────────────────────────────────────── Error: locator.click: Test timeout of 30000ms exceeded. Call log: - waiting for locator('editor-host').first().locator('.inline-editor').first() - locator resolved to <div data-v-root="true" contenteditable="true" class=…>…</div> at utils/actions/misc.ts:602 600 | const locator = editor.locator(RICH_TEXT_SELECTOR).nth(i); 601 | // need to set `force` to true when clicking on `affine-selected-blocks` > 602 | await locator.click({ force: true, position: options?.clickPosition }); | ^ 603 | } 604 | 605 | export async function focusRichTextEnd(page: Page, i = 0) { at focusRichText (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/misc.ts:602:17) at /home/runner/work/blocksuite/blocksuite/tests/list.spec.ts:60:3
list.spec.ts:71:1 › convert to numbered list block: tests/list.spec.ts#L1
2) list.spec.ts:71:1 › convert to numbered list block ──────────────────────────────────────────── Test timeout of 30000ms exceeded.
list.spec.ts:71:1 › convert to numbered list block: tests/utils/actions/misc.ts#L289
2) list.spec.ts:71:1 › convert to numbered list block ──────────────────────────────────────────── 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 updateBlockType (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/block.ts:33:9) at /home/runner/work/blocksuite/blocksuite/tests/list.spec.ts:78:3
list.spec.ts:103:1 › indent list block: tests/list.spec.ts#L1
3) list.spec.ts:103:1 › indent list block ──────────────────────────────────────────────────────── Test timeout of 30000ms exceeded.
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
edgeless/shortcut.spec.ts:102:3 › zooming › zoom out: tests/edgeless/shortcut.spec.ts#L116
1) edgeless/shortcut.spec.ts:102:3 › zooming › zoom out ────────────────────────────────────────── Error: expect(received).toBe(expected) // Object.is equality Expected: 50 Received: 75 114 | 115 | zoom = await getZoomLevel(page); > 116 | expect(zoom).toBe(50); | ^ 117 | }); 118 | test('zoom reset', async ({ page }) => { 119 | await enterPlaygroundRoom(page); at /home/runner/work/blocksuite/blocksuite/tests/edgeless/shortcut.spec.ts:116:18
edgeless/shortcut.spec.ts:102:3 › zooming › zoom out: tests/edgeless/shortcut.spec.ts#L116
1) edgeless/shortcut.spec.ts:102:3 › zooming › zoom out ────────────────────────────────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toBe(expected) // Object.is equality Expected: 50 Received: 75 114 | 115 | zoom = await getZoomLevel(page); > 116 | expect(zoom).toBe(50); | ^ 117 | }); 118 | test('zoom reset', async ({ page }) => { 119 | await enterPlaygroundRoom(page); at /home/runner/work/blocksuite/blocksuite/tests/edgeless/shortcut.spec.ts:116:18
edgeless/shortcut.spec.ts:102:3 › zooming › zoom out: tests/edgeless/shortcut.spec.ts#L116
1) edgeless/shortcut.spec.ts:102:3 › zooming › zoom out ────────────────────────────────────────── Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toBe(expected) // Object.is equality Expected: 50 Received: 75 114 | 115 | zoom = await getZoomLevel(page); > 116 | expect(zoom).toBe(50); | ^ 117 | }); 118 | test('zoom reset', async ({ page }) => { 119 | await enterPlaygroundRoom(page); at /home/runner/work/blocksuite/blocksuite/tests/edgeless/shortcut.spec.ts:116:18
edgeless/shortcut.spec.ts:102:3 › zooming › zoom out: tests/edgeless/shortcut.spec.ts#L116
1) edgeless/shortcut.spec.ts:102:3 › zooming › zoom out ────────────────────────────────────────── Retry #3 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toBe(expected) // Object.is equality Expected: 50 Received: 75 114 | 115 | zoom = await getZoomLevel(page); > 116 | expect(zoom).toBe(50); | ^ 117 | }); 118 | test('zoom reset', async ({ page }) => { 119 | await enterPlaygroundRoom(page); at /home/runner/work/blocksuite/blocksuite/tests/edgeless/shortcut.spec.ts:116:18
edgeless/shortcut.spec.ts:118:3 › zooming › zoom reset: tests/edgeless/shortcut.spec.ts#L129
2) edgeless/shortcut.spec.ts:118:3 › zooming › zoom reset ──────────────────────────────────────── Error: expect(received).toBe(expected) // Object.is equality Expected: 75 Received: 100 127 | 128 | zoom = await getZoomLevel(page); > 129 | expect(zoom).toBe(75); | ^ 130 | 131 | await zoomResetByKeyboard(page); 132 | at /home/runner/work/blocksuite/blocksuite/tests/edgeless/shortcut.spec.ts:129:18
edgeless/shortcut.spec.ts:118:3 › zooming › zoom reset: tests/edgeless/shortcut.spec.ts#L129
2) edgeless/shortcut.spec.ts:118:3 › zooming › zoom reset ──────────────────────────────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toBe(expected) // Object.is equality Expected: 75 Received: 100 127 | 128 | zoom = await getZoomLevel(page); > 129 | expect(zoom).toBe(75); | ^ 130 | 131 | await zoomResetByKeyboard(page); 132 | at /home/runner/work/blocksuite/blocksuite/tests/edgeless/shortcut.spec.ts:129:18
edgeless/shortcut.spec.ts:118:3 › zooming › zoom reset: tests/edgeless/shortcut.spec.ts#L129
2) edgeless/shortcut.spec.ts:118:3 › zooming › zoom reset ──────────────────────────────────────── Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toBe(expected) // Object.is equality Expected: 75 Received: 100 127 | 128 | zoom = await getZoomLevel(page); > 129 | expect(zoom).toBe(75); | ^ 130 | 131 | await zoomResetByKeyboard(page); 132 | at /home/runner/work/blocksuite/blocksuite/tests/edgeless/shortcut.spec.ts:129:18
edgeless/shortcut.spec.ts:118:3 › zooming › zoom reset: tests/edgeless/shortcut.spec.ts#L129
2) edgeless/shortcut.spec.ts:118:3 › zooming › zoom reset ──────────────────────────────────────── Retry #3 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toBe(expected) // Object.is equality Expected: 75 Received: 100 127 | 128 | zoom = await getZoomLevel(page); > 129 | expect(zoom).toBe(75); | ^ 130 | 131 | await zoomResetByKeyboard(page); 132 | at /home/runner/work/blocksuite/blocksuite/tests/edgeless/shortcut.spec.ts:129:18
edgeless/shortcut.spec.ts:136:3 › zooming › zoom in: tests/edgeless/shortcut.spec.ts#L150
3) edgeless/shortcut.spec.ts:136:3 › zooming › zoom in ─────────────────────────────────────────── Error: expect(received).toBe(expected) // Object.is equality Expected: 150 Received: 125 148 | 149 | zoom = await getZoomLevel(page); > 150 | expect(zoom).toBe(150); | ^ 151 | }); 152 | }); 153 | at /home/runner/work/blocksuite/blocksuite/tests/edgeless/shortcut.spec.ts:150:18
edgeless/shortcut.spec.ts:136:3 › zooming › zoom in: tests/edgeless/shortcut.spec.ts#L150
3) edgeless/shortcut.spec.ts:136:3 › zooming › zoom in ─────────────────────────────────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toBe(expected) // Object.is equality Expected: 150 Received: 125 148 | 149 | zoom = await getZoomLevel(page); > 150 | expect(zoom).toBe(150); | ^ 151 | }); 152 | }); 153 | at /home/runner/work/blocksuite/blocksuite/tests/edgeless/shortcut.spec.ts:150:18
database/selection.spec.ts:39:3 › focus › should support move focus by arrow key: tests/utils/actions/misc.ts#L1056
1) database/selection.spec.ts:39:3 › focus › should support move focus by arrow key ────────────── Error: Missing column box at utils/actions/misc.ts:1056 1054 | export async function getBoundingBox(locator: Locator) { 1055 | const box = await locator.boundingBox(); > 1056 | if (!box) throw new Error('Missing column box'); | ^ 1057 | return box; 1058 | } 1059 | at getBoundingBox (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/misc.ts:1056:19) at assertRowsSelection (/home/runner/work/blocksuite/blocksuite/tests/database/actions.ts:359:24) at /home/runner/work/blocksuite/blocksuite/tests/database/selection.spec.ts:48:5
database/selection.spec.ts:39:3 › focus › should support move focus by arrow key: tests/utils/actions/misc.ts#L1056
1) database/selection.spec.ts:39:3 › focus › should support move focus by arrow key ────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: Missing column box at utils/actions/misc.ts:1056 1054 | export async function getBoundingBox(locator: Locator) { 1055 | const box = await locator.boundingBox(); > 1056 | if (!box) throw new Error('Missing column box'); | ^ 1057 | return box; 1058 | } 1059 | at getBoundingBox (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/misc.ts:1056:19) at assertRowsSelection (/home/runner/work/blocksuite/blocksuite/tests/database/actions.ts:359:24) at /home/runner/work/blocksuite/blocksuite/tests/database/selection.spec.ts:48:5
database/selection.spec.ts:39:3 › focus › should support move focus by arrow key: tests/utils/actions/misc.ts#L1056
1) database/selection.spec.ts:39:3 › focus › should support move focus by arrow key ────────────── Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: Missing column box at utils/actions/misc.ts:1056 1054 | export async function getBoundingBox(locator: Locator) { 1055 | const box = await locator.boundingBox(); > 1056 | if (!box) throw new Error('Missing column box'); | ^ 1057 | return box; 1058 | } 1059 | at getBoundingBox (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/misc.ts:1056:19) at assertRowsSelection (/home/runner/work/blocksuite/blocksuite/tests/database/actions.ts:359:24) at /home/runner/work/blocksuite/blocksuite/tests/database/selection.spec.ts:48:5
database/selection.spec.ts:39:3 › focus › should support move focus by arrow key: tests/utils/actions/misc.ts#L1056
1) database/selection.spec.ts:39:3 › focus › should support move focus by arrow key ────────────── Retry #3 ─────────────────────────────────────────────────────────────────────────────────────── Error: Missing column box at utils/actions/misc.ts:1056 1054 | export async function getBoundingBox(locator: Locator) { 1055 | const box = await locator.boundingBox(); > 1056 | if (!box) throw new Error('Missing column box'); | ^ 1057 | return box; 1058 | } 1059 | at getBoundingBox (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/misc.ts:1056:19) at assertRowsSelection (/home/runner/work/blocksuite/blocksuite/tests/database/actions.ts:359:24) at /home/runner/work/blocksuite/blocksuite/tests/database/selection.spec.ts:48:5
database/selection.spec.ts:78:3 › focus › should support row selection with dynamic height: tests/utils/actions/misc.ts#L1056
2) database/selection.spec.ts:78:3 › focus › should support row selection with dynamic height ──── Error: Missing column box at utils/actions/misc.ts:1056 1054 | export async function getBoundingBox(locator: Locator) { 1055 | const box = await locator.boundingBox(); > 1056 | if (!box) throw new Error('Missing column box'); | ^ 1057 | return box; 1058 | } 1059 | at getBoundingBox (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/misc.ts:1056:19) at assertRowsSelection (/home/runner/work/blocksuite/blocksuite/tests/database/actions.ts:359:24) at /home/runner/work/blocksuite/blocksuite/tests/database/selection.spec.ts:93:5
database/selection.spec.ts:78:3 › focus › should support row selection with dynamic height: tests/utils/actions/misc.ts#L1056
2) database/selection.spec.ts:78:3 › focus › should support row selection with dynamic height ──── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: Missing column box at utils/actions/misc.ts:1056 1054 | export async function getBoundingBox(locator: Locator) { 1055 | const box = await locator.boundingBox(); > 1056 | if (!box) throw new Error('Missing column box'); | ^ 1057 | return box; 1058 | } 1059 | at getBoundingBox (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/misc.ts:1056:19) at assertRowsSelection (/home/runner/work/blocksuite/blocksuite/tests/database/actions.ts:359:24) at /home/runner/work/blocksuite/blocksuite/tests/database/selection.spec.ts:93:5
database/selection.spec.ts:78:3 › focus › should support row selection with dynamic height: tests/utils/actions/misc.ts#L1056
2) database/selection.spec.ts:78:3 › focus › should support row selection with dynamic height ──── Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: Missing column box at utils/actions/misc.ts:1056 1054 | export async function getBoundingBox(locator: Locator) { 1055 | const box = await locator.boundingBox(); > 1056 | if (!box) throw new Error('Missing column box'); | ^ 1057 | return box; 1058 | } 1059 | at getBoundingBox (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/misc.ts:1056:19) at assertRowsSelection (/home/runner/work/blocksuite/blocksuite/tests/database/actions.ts:359:24) at /home/runner/work/blocksuite/blocksuite/tests/database/selection.spec.ts:93:5
database/selection.spec.ts:78:3 › focus › should support row selection with dynamic height: tests/utils/actions/misc.ts#L1056
2) database/selection.spec.ts:78:3 › focus › should support row selection with dynamic height ──── Retry #3 ─────────────────────────────────────────────────────────────────────────────────────── Error: Missing column box at utils/actions/misc.ts:1056 1054 | export async function getBoundingBox(locator: Locator) { 1055 | const box = await locator.boundingBox(); > 1056 | if (!box) throw new Error('Missing column box'); | ^ 1057 | return box; 1058 | } 1059 | at getBoundingBox (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/misc.ts:1056:19) at assertRowsSelection (/home/runner/work/blocksuite/blocksuite/tests/database/actions.ts:359:24) at /home/runner/work/blocksuite/blocksuite/tests/database/selection.spec.ts:93:5
database/selection.spec.ts:114:3 › row-level selection › should support pressing esc to trigger row selection: tests/utils/actions/misc.ts#L1056
3) database/selection.spec.ts:114:3 › row-level selection › should support pressing esc to trigger row selection Error: Missing column box at utils/actions/misc.ts:1056 1054 | export async function getBoundingBox(locator: Locator) { 1055 | const box = await locator.boundingBox(); > 1056 | if (!box) throw new Error('Missing column box'); | ^ 1057 | return box; 1058 | } 1059 | at getBoundingBox (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/misc.ts:1056:19) at assertRowsSelection (/home/runner/work/blocksuite/blocksuite/tests/database/actions.ts:359:24) at /home/runner/work/blocksuite/blocksuite/tests/database/selection.spec.ts:125:5
database/selection.spec.ts:114:3 › row-level selection › should support pressing esc to trigger row selection: tests/utils/actions/misc.ts#L1056
3) database/selection.spec.ts:114:3 › row-level selection › should support pressing esc to trigger row selection Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: Missing column box at utils/actions/misc.ts:1056 1054 | export async function getBoundingBox(locator: Locator) { 1055 | const box = await locator.boundingBox(); > 1056 | if (!box) throw new Error('Missing column box'); | ^ 1057 | return box; 1058 | } 1059 | at getBoundingBox (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/misc.ts:1056:19) at assertRowsSelection (/home/runner/work/blocksuite/blocksuite/tests/database/actions.ts:359:24) at /home/runner/work/blocksuite/blocksuite/tests/database/selection.spec.ts:125:5
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:84:3
edgeless/basic.spec.ts:118:1 › option/alt mouse drag duplicate a new element: tests/edgeless/basic.spec.ts#L1
2) 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
2) 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/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:42: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:42: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:42: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: 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 #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:355:1 › drag handle should work across multiple notes: tests/edgeless/note.spec.ts#L374
5) edgeless/note.spec.ts:355:1 › drag handle should work across multiple notes ─────────────────── Error: Timed out 5000ms waiting for expect(locator).toBeHidden() Locator: locator('.affine-drag-handle-container') Expected: hidden Received: visible Call log: - expect.toBeHidden with timeout 5000ms - waiting for locator('.affine-drag-handle-container') - locator resolved to <div class="affine-drag-handle-container">…</div> - unexpected value "visible" - locator resolved to <div class="affine-drag-handle-container">…</div> - unexpected value "visible" - locator resolved to <div class="affine-drag-handle-container">…</div> - unexpected value "visible" - locator resolved to <div class="affine-drag-handle-container">…</div> - unexpected value "visible" - locator resolved to <div class="affine-drag-handle-container">…</div> - unexpected value "visible" - locator resolved to <div class="affine-drag-handle-container">…</div> - unexpected value "visible" - locator resolved to <div class="affine-drag-handle-container">…</div> - unexpected value "visible" - locator resolved to <div class="affine-drag-handle-container">…</div> - unexpected value "visible" - locator resolved to <div class="affine-drag-handle-container">…</div> - unexpected value "visible" 372 | await page.mouse.dblclick(CENTER_X, CENTER_Y); 373 | await dragHandleFromBlockToBlockBottomById(page, '3', '7'); > 374 | await expect(page.locator('.affine-drag-handle-container')).toBeHidden(); | ^ 375 | await waitNextFrame(page); 376 | await assertRichTexts(page, ['456', '789', '000', '123']); 377 | at /home/runner/work/blocksuite/blocksuite/tests/edgeless/note.spec.ts:374:63
Playground E2E test (2)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/upload-artifact@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Playground E2E test (6)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/upload-artifact@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Playground E2E test (3)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/upload-artifact@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
🎭 Playwright Run Summary
12 passed (23.6s)
🎭 Playwright Run Summary
1 flaky attachment.spec.ts:261:1 › should rename attachment works ────────────────────────────────────── 16 skipped 48 passed (2.6m)
🎭 Playwright Run Summary
1 failed database/column.spec.ts:325:3 › switch column type › switch to progress ──────────────────────── 1 flaky clipboard.spec.ts:1016:1 › copy canvas element and text note in edgeless mode ────────────────── 7 skipped 55 passed (3.1m)
🎭 Playwright Run Summary
3 flaky hotkey.spec.ts:131:1 › multi line rich-text inline code hotkey ───────────────────────────────── hotkey.spec.ts:986:1 › should cut work single line ───────────────────────────────────────────── image.spec.ts:100:1 › can click and copy image ───────────────────────────────────────────────── 5 skipped 56 passed (3.2m)
🎭 Playwright Run Summary
2 flaky paragraph.spec.ts:1585:1 › paragraph indent and delete in line start ─────────────────────────── selection/native.spec.ts:514:1 › cursor move up and down through note ────────────────────────── 1 skipped 61 passed (3.4m)
🎭 Playwright Run Summary
3 flaky list.spec.ts:54:1 › add new toggle list ──────────────────────────────────────────────────────── list.spec.ts:71:1 › convert to numbered list block ───────────────────────────────────────────── list.spec.ts:103:1 › indent list block ───────────────────────────────────────────────────────── 61 passed (3.5m)
🎭 Playwright Run Summary
1 flaky selection/native.spec.ts:928:1 › Delete the blank line between two dividers ──────────────────── 2 skipped 61 passed (3.1m)
🎭 Playwright Run Summary
3 failed edgeless/shortcut.spec.ts:102:3 › zooming › zoom out ─────────────────────────────────────────── edgeless/shortcut.spec.ts:118:3 › zooming › zoom reset ───────────────────────────────────────── edgeless/shortcut.spec.ts:136:3 › zooming › zoom in ──────────────────────────────────────────── 4 flaky edgeless/shape.spec.ts:65:3 › add shape › with holding shift key ─────────────────────────────── edgeless/shape.spec.ts:92:1 › delete shape by component-toolbar ──────────────────────────────── edgeless/shape.spec.ts:131:1 › change shape stroke color ─────────────────────────────────────── format-bar.spec.ts:309:1 › should format quick bar be able to change background color ────────── 1 skipped 56 passed (4.5m)
🎭 Playwright Run Summary
5 failed database/selection.spec.ts:39:3 › focus › should support move focus by arrow key ─────────────── database/selection.spec.ts:78:3 › focus › should support row selection with dynamic height ───── database/selection.spec.ts:114:3 › row-level selection › should support pressing esc to trigger row selection database/selection.spec.ts:155:3 › row-level selection › should support row selection with dynamic height database/selection.spec.ts:214:3 › cell-level selection › should support backspace key to delete cell's content 3 flaky database/column.spec.ts:398:3 › select column tag action › should support select tag renaming ── database/column.spec.ts:415:3 › select column tag action › should select tag renaming support shortcut key edgeless/auto-complete.spec.ts:111:5 › auto-complete › drag on auto-complete button › drag on right auto-complete button to add note 56 passed (4.6m)
🎭 Playwright Run Summary
2 flaky edgeless/basic.spec.ts:67:1 › can zoom viewport ──────────────────────────────────────────────── edgeless/basic.spec.ts:118:1 › option/alt mouse drag duplicate a new element ─────────────────── 3 skipped 59 passed (4.3m)
🎭 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:355:1 › drag handle should work across multiple notes ──────────────────── 59 passed (4.7m)

Artifacts

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