Skip to content

feat(edgeless): store real color values in edgeless #9115

feat(edgeless): store real color values in edgeless

feat(edgeless): store real color values in edgeless #9115

Triggered via pull request December 22, 2024 15:02
Status Failure
Total duration 4m 13s
Artifacts 9

test.yml

on: pull_request
Install Dependencies
41s
Install Dependencies
Matrix: E2E Test
Matrix: Unit Test
Build & Test
0s
Build & Test
Fit to window
Zoom out
Zoom in

Annotations

84 errors, 40 warnings, and 20 notices
Build
Process completed with exit code 1.
slash-menu.spec.ts:378:3 › slash menu should show and hide correctly › should open and close menu when using left right arrow: tests/slash-menu.spec.ts#L401
1) slash-menu.spec.ts:378:3 › slash menu should show and hide correctly › should open and close menu when using left right arrow, Enter, Esc keys Error: Timed out 5000ms waiting for expect(locator).toHaveAttribute(expected) Locator: locator('.slash-menu[data-testid=sub-menu-0]').locator('icon-button').nth(4) Expected string: "true" Received string: "false" Call log: - expect.toHaveAttribute with timeout 5000ms - waiting for locator('.slash-menu[data-testid=sub-menu-0]').locator('icon-button').nth(4) 9 × locator resolved to <icon-button width="100%" tabindex="0" height="44px" hover="false" role="button" text="Other Headings" data-test-disabled="false" data-testid="Other Headings" class="slash-menu-item other-headings">…</icon-button> - unexpected value "false" 399 | await type(page, '/'); 400 | await pressArrowDown(page, 4); > 401 | await expect(slashItems.nth(4)).toHaveAttribute('hover', 'true'); | ^ 402 | await expect(slashItems.nth(4).locator('.text')).toHaveText([ 403 | 'Other Headings', 404 | ]); at /home/runner/work/blocksuite/blocksuite/tests/slash-menu.spec.ts:401:37
selection/native.spec.ts:266:1 › cursor move to up and down with children block: tests/selection/native.spec.ts#L295
1) selection/native.spec.ts:266:1 › cursor move to up and down with children block ─────────────── Error: expect(received).toBeGreaterThanOrEqual(expected) Expected: >= 12 Received: -1 293 | const textTwo = await getInlineSelectionText(page); 294 | expect(textTwo).toBe('arrow down test 1'); > 295 | expect(indexTwo).toBeGreaterThanOrEqual(12); | ^ 296 | expect(indexTwo).toBeLessThanOrEqual(17); 297 | await page.keyboard.press('ArrowDown'); 298 | const textThree = await getInlineSelectionText(page); at /home/runner/work/blocksuite/blocksuite/tests/selection/native.spec.ts:295:20
clipboard/list.spec.ts:423:1 › should copy and paste of database work: tests/utils/asserts.ts#L742
1) clipboard/list.spec.ts:423:1 › should copy and paste of database work ───────────────────────── Error: <affine:page> <affine:note prop:background={ Object { "dark": "#000000", "light": "#ffffff", } } prop:displayMode="both" prop:edgeless={ Object { "style": Object { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box", }, } } prop:hidden={false} prop:index="a0" prop:lockedBySelf={false} > <affine:database prop:columns="Array [2]" prop:title="Database 1" prop:views="Array [1]" > <affine:paragraph prop:collapsed={false} prop:type="text" /> </affine:database> <affine:database prop:columns="Array [2]" prop:title="Database 1" prop:views="Array [1]" > <affine:paragraph prop:collapsed={false} prop:type="text" /> </affine:database> <affine:paragraph prop:collapsed={false} prop:type="text" /> </affine:note> </affine:page> expect(received).toEqual(expected) // deep equality - Expected - 1 + Received + 6 @@ -1,8 +1,13 @@ <affine:page> <affine:note - prop:background="--affine-v2-edgeless-note-white" + prop:background={ + Object { + "dark": "#000000", + "light": "#ffffff", + } + } prop:displayMode="both" prop:edgeless={ Object { "style": Object { "borderRadius": 8, at utils/asserts.ts:742 740 | printFunctionName: false, 741 | }); > 742 | expect(formattedJSX, formattedJSX).toEqual(snapshot.trimStart()); | ^ 743 | } 744 | 745 | type MimeType = 'text/plain' | 'blocksuite/x-c+w' | 'text/html'; at assertStoreMatchJSX (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:742:38) at /home/runner/work/blocksuite/blocksuite/tests/clipboard/list.spec.ts:439:3
clipboard/list.spec.ts:423:1 › should copy and paste of database work: tests/utils/asserts.ts#L742
1) clipboard/list.spec.ts:423:1 › should copy and paste of database work ───────────────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: <affine:page> <affine:note prop:background={ Object { "dark": "#000000", "light": "#ffffff", } } prop:displayMode="both" prop:edgeless={ Object { "style": Object { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box", }, } } prop:hidden={false} prop:index="a0" prop:lockedBySelf={false} > <affine:database prop:columns="Array [2]" prop:title="Database 1" prop:views="Array [1]" > <affine:paragraph prop:collapsed={false} prop:type="text" /> </affine:database> <affine:database prop:columns="Array [2]" prop:title="Database 1" prop:views="Array [1]" > <affine:paragraph prop:collapsed={false} prop:type="text" /> </affine:database> <affine:paragraph prop:collapsed={false} prop:type="text" /> </affine:note> </affine:page> expect(received).toEqual(expected) // deep equality - Expected - 1 + Received + 6 @@ -1,8 +1,13 @@ <affine:page> <affine:note - prop:background="--affine-v2-edgeless-note-white" + prop:background={ + Object { + "dark": "#000000", + "light": "#ffffff", + } + } prop:displayMode="both" prop:edgeless={ Object { "style": Object { "borderRadius": 8, at utils/asserts.ts:742 740 | printFunctionName: false, 741 | }); > 742 | expect(formattedJSX, formattedJSX).toEqual(snapshot.trimStart()); | ^ 743 | } 744 | 745 | type MimeType = 'text/plain' | 'blocksuite/x-c+w' | 'text/html'; at assertStoreMatchJSX (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:742:38) at /home/runner/work/blocksuite/blocksuite/tests/clipboard/list.spec.ts:439:3
clipboard/list.spec.ts:423:1 › should copy and paste of database work: tests/utils/asserts.ts#L742
1) clipboard/list.spec.ts:423:1 › should copy and paste of database work ───────────────────────── Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: <affine:page> <affine:note prop:background={ Object { "dark": "#000000", "light": "#ffffff", } } prop:displayMode="both" prop:edgeless={ Object { "style": Object { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box", }, } } prop:hidden={false} prop:index="a0" prop:lockedBySelf={false} > <affine:database prop:columns="Array [2]" prop:title="Database 1" prop:views="Array [1]" > <affine:paragraph prop:collapsed={false} prop:type="text" /> </affine:database> <affine:database prop:columns="Array [2]" prop:title="Database 1" prop:views="Array [1]" > <affine:paragraph prop:collapsed={false} prop:type="text" /> </affine:database> <affine:paragraph prop:collapsed={false} prop:type="text" /> </affine:note> </affine:page> expect(received).toEqual(expected) // deep equality - Expected - 1 + Received + 6 @@ -1,8 +1,13 @@ <affine:page> <affine:note - prop:background="--affine-v2-edgeless-note-white" + prop:background={ + Object { + "dark": "#000000", + "light": "#ffffff", + } + } prop:displayMode="both" prop:edgeless={ Object { "style": Object { "borderRadius": 8, at utils/asserts.ts:742 740 | printFunctionName: false, 741 | }); > 742 | expect(formattedJSX, formattedJSX).toEqual(snapshot.trimStart()); | ^ 743 | } 744 | 745 | type MimeType = 'text/plain' | 'blocksuite/x-c+w' | 'text/html'; at assertStoreMatchJSX (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:742:38) at /home/runner/work/blocksuite/blocksuite/tests/clipboard/list.spec.ts:439:3
clipboard/list.spec.ts:423:1 › should copy and paste of database work: tests/utils/asserts.ts#L742
1) clipboard/list.spec.ts:423:1 › should copy and paste of database work ───────────────────────── Retry #3 ─────────────────────────────────────────────────────────────────────────────────────── Error: <affine:page> <affine:note prop:background={ Object { "dark": "#000000", "light": "#ffffff", } } prop:displayMode="both" prop:edgeless={ Object { "style": Object { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box", }, } } prop:hidden={false} prop:index="a0" prop:lockedBySelf={false} > <affine:database prop:columns="Array [2]" prop:title="Database 1" prop:views="Array [1]" > <affine:paragraph prop:collapsed={false} prop:type="text" /> </affine:database> <affine:database prop:columns="Array [2]" prop:title="Database 1" prop:views="Array [1]" > <affine:paragraph prop:collapsed={false} prop:type="text" /> </affine:database> <affine:paragraph prop:collapsed={false} prop:type="text" /> </affine:note> </affine:page> expect(received).toEqual(expected) // deep equality - Expected - 1 + Received + 6 @@ -1,8 +1,13 @@ <affine:page> <affine:note - prop:background="--affine-v2-edgeless-note-white" + prop:background={ + Object { + "dark": "#000000", + "light": "#ffffff", + } + } prop:displayMode="both" prop:edgeless={ Object { "style": Object { "borderRadius": 8, at utils/asserts.ts:742 740 | printFunctionName: false, 741 | }); > 742 | expect(formattedJSX, formattedJSX).toEqual(snapshot.trimStart()); | ^ 743 | } 744 | 745 | type MimeType = 'text/plain' | 'blocksuite/x-c+w' | 'text/html'; at assertStoreMatchJSX (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:742:38) at /home/runner/work/blocksuite/blocksuite/tests/clipboard/list.spec.ts:439:3
clipboard/list.spec.ts:567:1 › paste note block with background: tests/utils/actions/edgeless.ts#L1388
2) clipboard/list.spec.ts:567:1 › paste note block with background ─────────────────────────────── TimeoutError: locator.click: Timeout 5000ms exceeded. Call log: - waiting for locator('edgeless-change-note-button').locator('edgeless-color-panel').locator('.color-unit[aria-label="--affine-v2-edgeless-note-white"]') at utils/actions/edgeless.ts:1388 1386 | .locator('edgeless-color-panel') 1387 | .locator(`.color-unit[aria-label="${color}"]`); > 1388 | await colorButton.click(); | ^ 1389 | } 1390 | 1391 | export async function changeShapeFillColor(page: Page, color: string) { at changeEdgelessNoteBackground (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:1388:21) at /home/runner/work/blocksuite/blocksuite/tests/clipboard/list.spec.ts:578:9
clipboard/list.spec.ts:567:1 › paste note block with background: tests/utils/actions/edgeless.ts#L1388
2) clipboard/list.spec.ts:567:1 › paste note block with background ─────────────────────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: locator.click: Timeout 5000ms exceeded. Call log: - waiting for locator('edgeless-change-note-button').locator('edgeless-color-panel').locator('.color-unit[aria-label="--affine-v2-edgeless-note-white"]') at utils/actions/edgeless.ts:1388 1386 | .locator('edgeless-color-panel') 1387 | .locator(`.color-unit[aria-label="${color}"]`); > 1388 | await colorButton.click(); | ^ 1389 | } 1390 | 1391 | export async function changeShapeFillColor(page: Page, color: string) { at changeEdgelessNoteBackground (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:1388:21) at /home/runner/work/blocksuite/blocksuite/tests/clipboard/list.spec.ts:578:9
clipboard/list.spec.ts:567:1 › paste note block with background: tests/utils/actions/edgeless.ts#L1388
2) clipboard/list.spec.ts:567:1 › paste note block with background ─────────────────────────────── Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: locator.click: Timeout 5000ms exceeded. Call log: - waiting for locator('edgeless-change-note-button').locator('edgeless-color-panel').locator('.color-unit[aria-label="--affine-v2-edgeless-note-white"]') at utils/actions/edgeless.ts:1388 1386 | .locator('edgeless-color-panel') 1387 | .locator(`.color-unit[aria-label="${color}"]`); > 1388 | await colorButton.click(); | ^ 1389 | } 1390 | 1391 | export async function changeShapeFillColor(page: Page, color: string) { at changeEdgelessNoteBackground (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:1388:21) at /home/runner/work/blocksuite/blocksuite/tests/clipboard/list.spec.ts:578:9
clipboard/list.spec.ts:567:1 › paste note block with background: tests/utils/actions/edgeless.ts#L1388
2) clipboard/list.spec.ts:567:1 › paste note block with background ─────────────────────────────── Retry #3 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: locator.click: Timeout 5000ms exceeded. Call log: - waiting for locator('edgeless-change-note-button').locator('edgeless-color-panel').locator('.color-unit[aria-label="--affine-v2-edgeless-note-white"]') at utils/actions/edgeless.ts:1388 1386 | .locator('edgeless-color-panel') 1387 | .locator(`.color-unit[aria-label="${color}"]`); > 1388 | await colorButton.click(); | ^ 1389 | } 1390 | 1391 | export async function changeShapeFillColor(page: Page, color: string) { at changeEdgelessNoteBackground (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:1388:21) at /home/runner/work/blocksuite/blocksuite/tests/clipboard/list.spec.ts:578:9
clipboard/list.spec.ts:133:1 › paste a nested list to a nested list: tests/utils/asserts.ts#L209
3) clipboard/list.spec.ts:133:1 › paste a nested list to a nested list ─────────────────────────── Error: expect(received).toEqual(expected) // deep equality - Expected - 2 + Received + 2 Array [ "aaa", - "aaa", + "bbbaaa", "bbb", - "cccbbb", + "ccc", "ccc", ] at utils/asserts.ts:209 207 | }); 208 | }, currentEditorIndex); > 209 | expect(actualTexts).toEqual(texts); | ^ 210 | } 211 | 212 | export async function assertEdgelessCanvasText(page: Page, text: string) { at assertRichTexts (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:209:23) at /home/runner/work/blocksuite/blocksuite/tests/clipboard/list.spec.ts:165:3
E2E Test (2)
Process completed with exit code 1.
edgeless/note/note.spec.ts:299:1 › change note color: tests/utils/asserts.ts#L1086
1) edgeless/note/note.spec.ts:299:1 › change note color ────────────────────────────────────────── Error: expect(received).toEqual(expected) // deep equality Expected: "#ffffff" Received: "rgb(255, 255, 255)" at utils/asserts.ts:1086 1084 | }); 1085 | > 1086 | expect(backgroundColor).toEqual(color); | ^ 1087 | } 1088 | 1089 | function toHex(color: string) { at assertEdgelessNoteBackground (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:1086:27) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/note/note.spec.ts:305:3
edgeless/note/note.spec.ts:299:1 › change note color: tests/utils/asserts.ts#L1086
1) edgeless/note/note.spec.ts:299:1 › change note color ────────────────────────────────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toEqual(expected) // deep equality Expected: "#ffffff" Received: "rgb(255, 255, 255)" at utils/asserts.ts:1086 1084 | }); 1085 | > 1086 | expect(backgroundColor).toEqual(color); | ^ 1087 | } 1088 | 1089 | function toHex(color: string) { at assertEdgelessNoteBackground (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:1086:27) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/note/note.spec.ts:305:3
edgeless/note/note.spec.ts:299:1 › change note color: tests/utils/asserts.ts#L1086
1) edgeless/note/note.spec.ts:299:1 › change note color ────────────────────────────────────────── Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toEqual(expected) // deep equality Expected: "#ffffff" Received: "rgb(255, 255, 255)" at utils/asserts.ts:1086 1084 | }); 1085 | > 1086 | expect(backgroundColor).toEqual(color); | ^ 1087 | } 1088 | 1089 | function toHex(color: string) { at assertEdgelessNoteBackground (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:1086:27) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/note/note.spec.ts:305:3
edgeless/note/note.spec.ts:299:1 › change note color: tests/utils/asserts.ts#L1086
1) edgeless/note/note.spec.ts:299:1 › change note color ────────────────────────────────────────── Retry #3 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toEqual(expected) // deep equality Expected: "#ffffff" Received: "rgb(255, 255, 255)" at utils/asserts.ts:1086 1084 | }); 1085 | > 1086 | expect(backgroundColor).toEqual(color); | ^ 1087 | } 1088 | 1089 | function toHex(color: string) { at assertEdgelessNoteBackground (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:1086:27) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/note/note.spec.ts:305:3
edgeless/note/resize.spec.ts:138:1 › resize note then auto size and custom size: tests/utils/asserts.ts#L888
2) edgeless/note/resize.spec.ts:138:1 › resize note then auto size and custom size ─────────────── Error: expect(received).toBeCloseTo(expected, precision) Expected: 192 Received: 92 Expected precision: 0 Expected difference: < 0.5 Received difference: 100 at utils/asserts.ts:888 886 | expect(a.y).toBeCloseTo(b.y, 0); 887 | expect(a.w).toBeCloseTo(b.w, 0); > 888 | expect(a.h).toBeCloseTo(b.h, 0); | ^ 889 | } 890 | 891 | export function assertDOMRectEqual(a: DOMRect, b: DOMRect) { at assertRectEqual (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:888:15) at assertNoteRectEqual (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:881:3) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/note/resize.spec.ts:188:3
E2E Test (10)
Process completed with exit code 1.
format-bar.spec.ts:186:1 › should format quick bar be able to format text: tests/format-bar.spec.ts#L217
1) format-bar.spec.ts:186:1 › should format quick bar be able to format text ───────────────────── Error: expect(string).toMatchSnapshot(expected) { "type": "block", "id": "0", "flavour": "affine:page", "version": 2, "props": { "title": { "$blocksuite:internal:text$": true, "delta": [] } }, "children": [ { "type": "block", "id": "1", "flavour": "affine:note", "version": 1, "props": { "xywh": "[0,0,498,92]", "background": { "dark": "#000000", "light": "#ffffff" }, "index": "a0", "lockedBySelf": false, "hidden": false, "displayMode": "both", "edgeless": { "style": { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box" } } }, "children": [ { "type": "block", "id": "2", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "123" } ] }, "collapsed": false }, "children": [] }, { "type": "block", "id": "3", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "456", "attributes": { "code": true, "strike": true, "underline": true, "italic": true, "bold": true } } ] }, "collapsed": false }, "children": [] }, { "type": "block", "id": "4", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "789" } ] }, "collapsed": false }, "children": [] } ] } ] } Expected: /home/runner/work/blocksuite/blocksuite/tests/snapshots/format-bar.spec.ts/should-format-quick-bar-be-able-to-format-text-init.json Received: /home/runner/work/blocksuite/blocksuite/tests/test-results/format-bar-should-format-quick-bar-be-able-to-format-text/should-format-quick-bar-be-able-to-format-text-init-actual.json 215 | await expect(codeBtn).toHaveAttribute('active', ''); 216 | > 217 | expect(await getPageSnapshot(page, true)).toMatchSnapshot( | ^ 218 | `${testInfo.title}_init.json` 219 | ); 220 | at /home/runner/work/blocksuite/blocksuite/tests/format-bar.spec.ts:217:45
format-bar.spec.ts:186:1 › should format quick bar be able to format text: tests/format-bar.spec.ts#L217
1) format-bar.spec.ts:186:1 › should format quick bar be able to format text ───────────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) { "type": "block", "id": "0", "flavour": "affine:page", "version": 2, "props": { "title": { "$blocksuite:internal:text$": true, "delta": [] } }, "children": [ { "type": "block", "id": "1", "flavour": "affine:note", "version": 1, "props": { "xywh": "[0,0,498,92]", "background": { "dark": "#000000", "light": "#ffffff" }, "index": "a0", "lockedBySelf": false, "hidden": false, "displayMode": "both", "edgeless": { "style": { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box" } } }, "children": [ { "type": "block", "id": "2", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "123" } ] }, "collapsed": false }, "children": [] }, { "type": "block", "id": "3", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "456", "attributes": { "code": true, "strike": true, "underline": true, "italic": true, "bold": true } } ] }, "collapsed": false }, "children": [] }, { "type": "block", "id": "4", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "789" } ] }, "collapsed": false }, "children": [] } ] } ] } Expected: /home/runner/work/blocksuite/blocksuite/tests/snapshots/format-bar.spec.ts/should-format-quick-bar-be-able-to-format-text-init.json Received: /home/runner/work/blocksuite/blocksuite/tests/test-results/format-bar-should-format-quick-bar-be-able-to-format-text-retry1/should-format-quick-bar-be-able-to-format-text-init-actual.json 215 | await expect(codeBtn).toHaveAttribute('active', ''); 216 | > 217 | expect(await getPageSnapshot(page, true)).toMatchSnapshot( | ^ 218 | `${testInfo.title}_init.json` 219 | ); 220 | at /home/runner/work/blocksuite/blocksuite/tests/format-bar.spec.ts:217:45
format-bar.spec.ts:186:1 › should format quick bar be able to format text: tests/format-bar.spec.ts#L217
1) format-bar.spec.ts:186:1 › should format quick bar be able to format text ───────────────────── Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) { "type": "block", "id": "0", "flavour": "affine:page", "version": 2, "props": { "title": { "$blocksuite:internal:text$": true, "delta": [] } }, "children": [ { "type": "block", "id": "1", "flavour": "affine:note", "version": 1, "props": { "xywh": "[0,0,498,92]", "background": { "dark": "#000000", "light": "#ffffff" }, "index": "a0", "lockedBySelf": false, "hidden": false, "displayMode": "both", "edgeless": { "style": { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box" } } }, "children": [ { "type": "block", "id": "2", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "123" } ] }, "collapsed": false }, "children": [] }, { "type": "block", "id": "3", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "456", "attributes": { "code": true, "strike": true, "underline": true, "italic": true, "bold": true } } ] }, "collapsed": false }, "children": [] }, { "type": "block", "id": "4", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "789" } ] }, "collapsed": false }, "children": [] } ] } ] } Expected: /home/runner/work/blocksuite/blocksuite/tests/snapshots/format-bar.spec.ts/should-format-quick-bar-be-able-to-format-text-init.json Received: /home/runner/work/blocksuite/blocksuite/tests/test-results/format-bar-should-format-quick-bar-be-able-to-format-text-retry2/should-format-quick-bar-be-able-to-format-text-init-actual.json 215 | await expect(codeBtn).toHaveAttribute('active', ''); 216 | > 217 | expect(await getPageSnapshot(page, true)).toMatchSnapshot( | ^ 218 | `${testInfo.title}_init.json` 219 | ); 220 | at /home/runner/work/blocksuite/blocksuite/tests/format-bar.spec.ts:217:45
format-bar.spec.ts:186:1 › should format quick bar be able to format text: tests/format-bar.spec.ts#L217
1) format-bar.spec.ts:186:1 › should format quick bar be able to format text ───────────────────── Retry #3 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) { "type": "block", "id": "0", "flavour": "affine:page", "version": 2, "props": { "title": { "$blocksuite:internal:text$": true, "delta": [] } }, "children": [ { "type": "block", "id": "1", "flavour": "affine:note", "version": 1, "props": { "xywh": "[0,0,498,92]", "background": { "dark": "#000000", "light": "#ffffff" }, "index": "a0", "lockedBySelf": false, "hidden": false, "displayMode": "both", "edgeless": { "style": { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box" } } }, "children": [ { "type": "block", "id": "2", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "123" } ] }, "collapsed": false }, "children": [] }, { "type": "block", "id": "3", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "456", "attributes": { "code": true, "strike": true, "underline": true, "italic": true, "bold": true } } ] }, "collapsed": false }, "children": [] }, { "type": "block", "id": "4", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "789" } ] }, "collapsed": false }, "children": [] } ] } ] } Expected: /home/runner/work/blocksuite/blocksuite/tests/snapshots/format-bar.spec.ts/should-format-quick-bar-be-able-to-format-text-init.json Received: /home/runner/work/blocksuite/blocksuite/tests/test-results/format-bar-should-format-quick-bar-be-able-to-format-text-retry3/should-format-quick-bar-be-able-to-format-text-init-actual.json 215 | await expect(codeBtn).toHaveAttribute('active', ''); 216 | > 217 | expect(await getPageSnapshot(page, true)).toMatchSnapshot( | ^ 218 | `${testInfo.title}_init.json` 219 | ); 220 | at /home/runner/work/blocksuite/blocksuite/tests/format-bar.spec.ts:217:45
format-bar.spec.ts:284:1 › should format quick bar be able to format text when select multiple line: tests/format-bar.spec.ts#L298
2) format-bar.spec.ts:284:1 › should format quick bar be able to format text when select multiple line Error: expect(string).toMatchSnapshot(expected) { "type": "block", "id": "0", "flavour": "affine:page", "version": 2, "props": { "title": { "$blocksuite:internal:text$": true, "delta": [] } }, "children": [ { "type": "block", "id": "1", "flavour": "affine:note", "version": 1, "props": { "xywh": "[0,0,498,92]", "background": { "dark": "#000000", "light": "#ffffff" }, "index": "a0", "lockedBySelf": false, "hidden": false, "displayMode": "both", "edgeless": { "style": { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box" } } }, "children": [ { "type": "block", "id": "2", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "123", "attributes": { "bold": true } } ] }, "collapsed": false }, "children": [] }, { "type": "block", "id": "3", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "456", "attributes": { "bold": true } } ] }, "collapsed": false }, "children": [] }, { "type": "block", "id": "4", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "789", "attributes": { "bold": true } } ] }, "collapsed": false }, "children": [] } ] } ] } Expected: /home/runner/work/blocksuite/blocksuite/tests/snapshots/format-bar.spec.ts/should-format-quick-bar-be-able-to-format-text-when-select-multiple-line-init.json Received: /home/runner/work/blocksuite/blocksuite/tests/test-results/format-bar-should-format-q-f995f-t-when-select-multiple-line/should-format-quick-bar-be-14273-ect-multiple-line-init-actual.json 296 | // The bold button should be active after click 297 | await expect(boldBtn).toHaveAttribute('active', ''); > 298 | expect(await getPageSnapshot(page, true)).toMatchSnapshot( | ^ 299 | `${testInfo.title}_init.json` 300 | ); 301 | at /home/runner/work/blocksuite/blocksuite/tests/format-bar.spec.ts:298:45
format-bar.spec.ts:284:1 › should format quick bar be able to format text when select multiple line: tests/format-bar.spec.ts#L298
2) format-bar.spec.ts:284:1 › should format quick bar be able to format text when select multiple line Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) { "type": "block", "id": "0", "flavour": "affine:page", "version": 2, "props": { "title": { "$blocksuite:internal:text$": true, "delta": [] } }, "children": [ { "type": "block", "id": "1", "flavour": "affine:note", "version": 1, "props": { "xywh": "[0,0,498,92]", "background": { "dark": "#000000", "light": "#ffffff" }, "index": "a0", "lockedBySelf": false, "hidden": false, "displayMode": "both", "edgeless": { "style": { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box" } } }, "children": [ { "type": "block", "id": "2", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "123", "attributes": { "bold": true } } ] }, "collapsed": false }, "children": [] }, { "type": "block", "id": "3", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "456", "attributes": { "bold": true } } ] }, "collapsed": false }, "children": [] }, { "type": "block", "id": "4", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "789", "attributes": { "bold": true } } ] }, "collapsed": false }, "children": [] } ] } ] } Expected: /home/runner/work/blocksuite/blocksuite/tests/snapshots/format-bar.spec.ts/should-format-quick-bar-be-able-to-format-text-when-select-multiple-line-init.json Received: /home/runner/work/blocksuite/blocksuite/tests/test-results/format-bar-should-format-q-f995f-t-when-select-multiple-line-retry1/should-format-quick-bar-be-14273-ect-multiple-line-init-actual.json 296 | // The bold button should be active after click 297 | await expect(boldBtn).toHaveAttribute('active', ''); > 298 | expect(await getPageSnapshot(page, true)).toMatchSnapshot( | ^ 299 | `${testInfo.title}_init.json` 300 | ); 301 | at /home/runner/work/blocksuite/blocksuit
format-bar.spec.ts:284:1 › should format quick bar be able to format text when select multiple line: tests/format-bar.spec.ts#L298
2) format-bar.spec.ts:284:1 › should format quick bar be able to format text when select multiple line Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) { "type": "block", "id": "0", "flavour": "affine:page", "version": 2, "props": { "title": { "$blocksuite:internal:text$": true, "delta": [] } }, "children": [ { "type": "block", "id": "1", "flavour": "affine:note", "version": 1, "props": { "xywh": "[0,0,498,92]", "background": { "dark": "#000000", "light": "#ffffff" }, "index": "a0", "lockedBySelf": false, "hidden": false, "displayMode": "both", "edgeless": { "style": { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box" } } }, "children": [ { "type": "block", "id": "2", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "123", "attributes": { "bold": true } } ] }, "collapsed": false }, "children": [] }, { "type": "block", "id": "3", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "456", "attributes": { "bold": true } } ] }, "collapsed": false }, "children": [] }, { "type": "block", "id": "4", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "789", "attributes": { "bold": true } } ] }, "collapsed": false }, "children": [] } ] } ] } Expected: /home/runner/work/blocksuite/blocksuite/tests/snapshots/format-bar.spec.ts/should-format-quick-bar-be-able-to-format-text-when-select-multiple-line-init.json Received: /home/runner/work/blocksuite/blocksuite/tests/test-results/format-bar-should-format-q-f995f-t-when-select-multiple-line-retry2/should-format-quick-bar-be-14273-ect-multiple-line-init-actual.json 296 | // The bold button should be active after click 297 | await expect(boldBtn).toHaveAttribute('active', ''); > 298 | expect(await getPageSnapshot(page, true)).toMatchSnapshot( | ^ 299 | `${testInfo.title}_init.json` 300 | ); 301 | at /home/runner/work/blocksuite/blocksuit
format-bar.spec.ts:284:1 › should format quick bar be able to format text when select multiple line: tests/format-bar.spec.ts#L298
2) format-bar.spec.ts:284:1 › should format quick bar be able to format text when select multiple line Retry #3 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) { "type": "block", "id": "0", "flavour": "affine:page", "version": 2, "props": { "title": { "$blocksuite:internal:text$": true, "delta": [] } }, "children": [ { "type": "block", "id": "1", "flavour": "affine:note", "version": 1, "props": { "xywh": "[0,0,498,92]", "background": { "dark": "#000000", "light": "#ffffff" }, "index": "a0", "lockedBySelf": false, "hidden": false, "displayMode": "both", "edgeless": { "style": { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box" } } }, "children": [ { "type": "block", "id": "2", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "123", "attributes": { "bold": true } } ] }, "collapsed": false }, "children": [] }, { "type": "block", "id": "3", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "456", "attributes": { "bold": true } } ] }, "collapsed": false }, "children": [] }, { "type": "block", "id": "4", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "789", "attributes": { "bold": true } } ] }, "collapsed": false }, "children": [] } ] } ] } Expected: /home/runner/work/blocksuite/blocksuite/tests/snapshots/format-bar.spec.ts/should-format-quick-bar-be-able-to-format-text-when-select-multiple-line-init.json Received: /home/runner/work/blocksuite/blocksuite/tests/test-results/format-bar-should-format-q-f995f-t-when-select-multiple-line-retry3/should-format-quick-bar-be-14273-ect-multiple-line-init-actual.json 296 | // The bold button should be active after click 297 | await expect(boldBtn).toHaveAttribute('active', ''); > 298 | expect(await getPageSnapshot(page, true)).toMatchSnapshot( | ^ 299 | `${testInfo.title}_init.json` 300 | ); 301 | at /home/runner/work/blocksuite/blocksuit
format-bar.spec.ts:309:1 › should format quick bar be able to link text: tests/format-bar.spec.ts#L341
3) format-bar.spec.ts:309:1 › should format quick bar be able to link text ─────────────────────── Error: expect(string).toMatchSnapshot(expected) { "type": "block", "id": "0", "flavour": "affine:page", "version": 2, "props": { "title": { "$blocksuite:internal:text$": true, "delta": [] } }, "children": [ { "type": "block", "id": "1", "flavour": "affine:note", "version": 1, "props": { "xywh": "[0,0,498,92]", "background": { "dark": "#000000", "light": "#ffffff" }, "index": "a0", "lockedBySelf": false, "hidden": false, "displayMode": "both", "edgeless": { "style": { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box" } } }, "children": [ { "type": "block", "id": "2", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "123" } ] }, "collapsed": false }, "children": [] }, { "type": "block", "id": "3", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "456" } ] }, "collapsed": false }, "children": [] }, { "type": "block", "id": "4", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "789" } ] }, "collapsed": false }, "children": [] } ] } ] } Expected: /home/runner/work/blocksuite/blocksuite/tests/snapshots/format-bar.spec.ts/should-format-quick-bar-be-able-to-link-text-finial.json Received: /home/runner/work/blocksuite/blocksuite/tests/test-results/format-bar-should-format-quick-bar-be-able-to-link-text/should-format-quick-bar-be-able-to-link-text-finial-actual.json 339 | await expect(linkBtn).not.toHaveAttribute('active', ''); 340 | > 341 | expect(await getPageSnapshot(page, true)).toMatchSnapshot( | ^ 342 | `${testInfo.title}_finial.json` 343 | ); 344 | }); at /home/runner/work/blocksuite/blocksuite/tests/format-bar.spec.ts:341:45
format-bar.spec.ts:309:1 › should format quick bar be able to link text: tests/format-bar.spec.ts#L341
3) format-bar.spec.ts:309:1 › should format quick bar be able to link text ─────────────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) { "type": "block", "id": "0", "flavour": "affine:page", "version": 2, "props": { "title": { "$blocksuite:internal:text$": true, "delta": [] } }, "children": [ { "type": "block", "id": "1", "flavour": "affine:note", "version": 1, "props": { "xywh": "[0,0,498,92]", "background": { "dark": "#000000", "light": "#ffffff" }, "index": "a0", "lockedBySelf": false, "hidden": false, "displayMode": "both", "edgeless": { "style": { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box" } } }, "children": [ { "type": "block", "id": "2", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "123" } ] }, "collapsed": false }, "children": [] }, { "type": "block", "id": "3", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "456" } ] }, "collapsed": false }, "children": [] }, { "type": "block", "id": "4", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "789" } ] }, "collapsed": false }, "children": [] } ] } ] } Expected: /home/runner/work/blocksuite/blocksuite/tests/snapshots/format-bar.spec.ts/should-format-quick-bar-be-able-to-link-text-finial.json Received: /home/runner/work/blocksuite/blocksuite/tests/test-results/format-bar-should-format-quick-bar-be-able-to-link-text-retry1/should-format-quick-bar-be-able-to-link-text-finial-actual.json 339 | await expect(linkBtn).not.toHaveAttribute('active', ''); 340 | > 341 | expect(await getPageSnapshot(page, true)).toMatchSnapshot( | ^ 342 | `${testInfo.title}_finial.json` 343 | ); 344 | }); at /home/runner/work/blocksuite/blocksuite/tests/format-bar.spec.ts:341:45
attachment.spec.ts:127:1 › can insert attachment from slash menu: tests/utils/asserts.ts#L742
1) attachment.spec.ts:127:1 › can insert attachment from slash menu ────────────────────────────── Error: <affine:note prop:background={ Object { "dark": "#000000", "light": "#ffffff", } } prop:displayMode="both" prop:edgeless={ Object { "style": Object { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box", }, } } prop:hidden={false} prop:index="a0" prop:lockedBySelf={false} > <affine:attachment prop:embed={false} prop:index="a0" prop:lockedBySelf={false} prop:name="test-card-1.png" prop:rotate={0} prop:size={45801} prop:sourceId="ejImogf-Tb7AuKY-v94uz1zuOJbClqK-tWBxVr_ksGA=" prop:style="horizontalThin" prop:type="image/png" /> </affine:note> expect(received).toEqual(expected) // deep equality - Expected - 7 + Received + 5 @@ -1,14 +1,12 @@ <affine:note - prop:background="{ + prop:background={ Object { - "style": Object { - "dark": "#000000", + "dark": "#000000", - "light": "#ffffff", + "light": "#ffffff", - }, - } - }" + } + } prop:displayMode="both" prop:edgeless={ Object { "style": Object { "borderRadius": 8, at utils/asserts.ts:742 740 | printFunctionName: false, 741 | }); > 742 | expect(formattedJSX, formattedJSX).toEqual(snapshot.trimStart()); | ^ 743 | } 744 | 745 | type MimeType = 'text/plain' | 'blocksuite/x-c+w' | 'text/html'; at assertStoreMatchJSX (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:742:38) at /home/runner/work/blocksuite/blocksuite/tests/attachment.spec.ts:143:3
attachment.spec.ts:127:1 › can insert attachment from slash menu: tests/utils/asserts.ts#L742
1) attachment.spec.ts:127:1 › can insert attachment from slash menu ────────────────────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: <affine:note prop:background={ Object { "dark": "#000000", "light": "#ffffff", } } prop:displayMode="both" prop:edgeless={ Object { "style": Object { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box", }, } } prop:hidden={false} prop:index="a0" prop:lockedBySelf={false} > <affine:attachment prop:embed={false} prop:index="a0" prop:lockedBySelf={false} prop:name="test-card-1.png" prop:rotate={0} prop:size={45801} prop:sourceId="ejImogf-Tb7AuKY-v94uz1zuOJbClqK-tWBxVr_ksGA=" prop:style="horizontalThin" prop:type="image/png" /> </affine:note> expect(received).toEqual(expected) // deep equality - Expected - 7 + Received + 5 @@ -1,14 +1,12 @@ <affine:note - prop:background="{ + prop:background={ Object { - "style": Object { - "dark": "#000000", + "dark": "#000000", - "light": "#ffffff", + "light": "#ffffff", - }, - } - }" + } + } prop:displayMode="both" prop:edgeless={ Object { "style": Object { "borderRadius": 8, at utils/asserts.ts:742 740 | printFunctionName: false, 741 | }); > 742 | expect(formattedJSX, formattedJSX).toEqual(snapshot.trimStart()); | ^ 743 | } 744 | 745 | type MimeType = 'text/plain' | 'blocksuite/x-c+w' | 'text/html'; at assertStoreMatchJSX (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:742:38) at /home/runner/work/blocksuite/blocksuite/tests/attachment.spec.ts:143:3
attachment.spec.ts:127:1 › can insert attachment from slash menu: tests/attachment.spec.ts#L69
1) attachment.spec.ts:127:1 › can insert attachment from slash menu ────────────────────────────── Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: page.waitForEvent: Timeout 5000ms exceeded while waiting for event "filechooser" =========================== logs =========================== waiting for event "filechooser" ============================================================ 67 | await expect(slashMenu).toBeVisible(); 68 | > 69 | const fileChooser = page.waitForEvent('filechooser'); | ^ 70 | await pressEnter(page); 71 | await sleep(100); 72 | await (await fileChooser).setFiles(FILE_PATH); at insertAttachment (/home/runner/work/blocksuite/blocksuite/tests/attachment.spec.ts:69:30) at /home/runner/work/blocksuite/blocksuite/tests/attachment.spec.ts:135:3
attachment.spec.ts:127:1 › can insert attachment from slash menu: tests/utils/asserts.ts#L742
1) attachment.spec.ts:127:1 › can insert attachment from slash menu ────────────────────────────── Retry #3 ─────────────────────────────────────────────────────────────────────────────────────── Error: <affine:note prop:background={ Object { "dark": "#000000", "light": "#ffffff", } } prop:displayMode="both" prop:edgeless={ Object { "style": Object { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box", }, } } prop:hidden={false} prop:index="a0" prop:lockedBySelf={false} > <affine:attachment prop:embed={false} prop:index="a0" prop:lockedBySelf={false} prop:name="test-card-1.png" prop:rotate={0} prop:size={45801} prop:sourceId="ejImogf-Tb7AuKY-v94uz1zuOJbClqK-tWBxVr_ksGA=" prop:style="horizontalThin" prop:type="image/png" /> </affine:note> expect(received).toEqual(expected) // deep equality - Expected - 7 + Received + 5 @@ -1,14 +1,12 @@ <affine:note - prop:background="{ + prop:background={ Object { - "style": Object { - "dark": "#000000", + "dark": "#000000", - "light": "#ffffff", + "light": "#ffffff", - }, - } - }" + } + } prop:displayMode="both" prop:edgeless={ Object { "style": Object { "borderRadius": 8, at utils/asserts.ts:742 740 | printFunctionName: false, 741 | }); > 742 | expect(formattedJSX, formattedJSX).toEqual(snapshot.trimStart()); | ^ 743 | } 744 | 745 | type MimeType = 'text/plain' | 'blocksuite/x-c+w' | 'text/html'; at assertStoreMatchJSX (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:742:38) at /home/runner/work/blocksuite/blocksuite/tests/attachment.spec.ts:143:3
attachment.spec.ts:186:1 › should undo/redo works for attachment: tests/utils/asserts.ts#L742
2) attachment.spec.ts:186:1 › should undo/redo works for attachment ────────────────────────────── Error: <affine:note prop:background={ Object { "dark": "#000000", "light": "#ffffff", } } prop:displayMode="both" prop:edgeless={ Object { "style": Object { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box", }, } } prop:hidden={false} prop:index="a0" prop:lockedBySelf={false} > <affine:attachment prop:embed={false} prop:index="a0" prop:lockedBySelf={false} prop:name="test-card-1.png" prop:rotate={0} prop:size={45801} prop:sourceId="ejImogf-Tb7AuKY-v94uz1zuOJbClqK-tWBxVr_ksGA=" prop:style="horizontalThin" prop:type="image/png" /> </affine:note> expect(received).toEqual(expected) // deep equality - Expected - 7 + Received + 5 @@ -1,14 +1,12 @@ <affine:note - prop:background="{ + prop:background={ Object { - "style": Object { - "dark": "#000000", + "dark": "#000000", - "light": "#ffffff", + "light": "#ffffff", - }, - } - }" + } + } prop:displayMode="both" prop:edgeless={ Object { "style": Object { "borderRadius": 8, at utils/asserts.ts:742 740 | printFunctionName: false, 741 | }); > 742 | expect(formattedJSX, formattedJSX).toEqual(snapshot.trimStart()); | ^ 743 | } 744 | 745 | type MimeType = 'text/plain' | 'blocksuite/x-c+w' | 'text/html'; at assertStoreMatchJSX (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:742:38) at /home/runner/work/blocksuite/blocksuite/tests/attachment.spec.ts:198:3
attachment.spec.ts:186:1 › should undo/redo works for attachment: tests/utils/asserts.ts#L742
2) attachment.spec.ts:186:1 › should undo/redo works for attachment ────────────────────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: <affine:note prop:background={ Object { "dark": "#000000", "light": "#ffffff", } } prop:displayMode="both" prop:edgeless={ Object { "style": Object { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box", }, } } prop:hidden={false} prop:index="a0" prop:lockedBySelf={false} > <affine:attachment prop:embed={false} prop:index="a0" prop:lockedBySelf={false} prop:name="test-card-1.png" prop:rotate={0} prop:size={45801} prop:sourceId="ejImogf-Tb7AuKY-v94uz1zuOJbClqK-tWBxVr_ksGA=" prop:style="horizontalThin" prop:type="image/png" /> </affine:note> expect(received).toEqual(expected) // deep equality - Expected - 7 + Received + 5 @@ -1,14 +1,12 @@ <affine:note - prop:background="{ + prop:background={ Object { - "style": Object { - "dark": "#000000", + "dark": "#000000", - "light": "#ffffff", + "light": "#ffffff", - }, - } - }" + } + } prop:displayMode="both" prop:edgeless={ Object { "style": Object { "borderRadius": 8, at utils/asserts.ts:742 740 | printFunctionName: false, 741 | }); > 742 | expect(formattedJSX, formattedJSX).toEqual(snapshot.trimStart()); | ^ 743 | } 744 | 745 | type MimeType = 'text/plain' | 'blocksuite/x-c+w' | 'text/html'; at assertStoreMatchJSX (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:742:38) at /home/runner/work/blocksuite/blocksuite/tests/attachment.spec.ts:198:3
attachment.spec.ts:186:1 › should undo/redo works for attachment: tests/attachment.spec.ts#L69
2) attachment.spec.ts:186:1 › should undo/redo works for attachment ────────────────────────────── Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: page.waitForEvent: Timeout 5000ms exceeded while waiting for event "filechooser" =========================== logs =========================== waiting for event "filechooser" ============================================================ 67 | await expect(slashMenu).toBeVisible(); 68 | > 69 | const fileChooser = page.waitForEvent('filechooser'); | ^ 70 | await pressEnter(page); 71 | await sleep(100); 72 | await (await fileChooser).setFiles(FILE_PATH); at insertAttachment (/home/runner/work/blocksuite/blocksuite/tests/attachment.spec.ts:69:30) at /home/runner/work/blocksuite/blocksuite/tests/attachment.spec.ts:193:3
attachment.spec.ts:186:1 › should undo/redo works for attachment: tests/utils/asserts.ts#L742
2) attachment.spec.ts:186:1 › should undo/redo works for attachment ────────────────────────────── Retry #3 ─────────────────────────────────────────────────────────────────────────────────────── Error: <affine:note prop:background={ Object { "dark": "#000000", "light": "#ffffff", } } prop:displayMode="both" prop:edgeless={ Object { "style": Object { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box", }, } } prop:hidden={false} prop:index="a0" prop:lockedBySelf={false} > <affine:attachment prop:embed={false} prop:index="a0" prop:lockedBySelf={false} prop:name="test-card-1.png" prop:rotate={0} prop:size={45801} prop:sourceId="ejImogf-Tb7AuKY-v94uz1zuOJbClqK-tWBxVr_ksGA=" prop:style="horizontalThin" prop:type="image/png" /> </affine:note> expect(received).toEqual(expected) // deep equality - Expected - 7 + Received + 5 @@ -1,14 +1,12 @@ <affine:note - prop:background="{ + prop:background={ Object { - "style": Object { - "dark": "#000000", + "dark": "#000000", - "light": "#ffffff", + "light": "#ffffff", - }, - } - }" + } + } prop:displayMode="both" prop:edgeless={ Object { "style": Object { "borderRadius": 8, at utils/asserts.ts:742 740 | printFunctionName: false, 741 | }); > 742 | expect(formattedJSX, formattedJSX).toEqual(snapshot.trimStart()); | ^ 743 | } 744 | 745 | type MimeType = 'text/plain' | 'blocksuite/x-c+w' | 'text/html'; at assertStoreMatchJSX (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:742:38) at /home/runner/work/blocksuite/blocksuite/tests/attachment.spec.ts:198:3
attachment.spec.ts:362:1 › should turn attachment to image works: tests/utils/asserts.ts#L742
3) attachment.spec.ts:362:1 › should turn attachment to image works ────────────────────────────── Error: <affine:note prop:background={ Object { "dark": "#000000", "light": "#ffffff", } } prop:displayMode="both" prop:edgeless={ Object { "style": Object { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box", }, } } prop:hidden={false} prop:index="a0" prop:lockedBySelf={false} > <affine:image prop:caption="" prop:height={0} prop:index="a0" prop:lockedBySelf={false} prop:rotate={0} prop:size={45801} prop:sourceId="ejImogf-Tb7AuKY-v94uz1zuOJbClqK-tWBxVr_ksGA=" prop:width={0} /> </affine:note> expect(received).toEqual(expected) // deep equality - Expected - 7 + Received + 5 @@ -1,14 +1,12 @@ <affine:note - prop:background="{ + prop:background={ Object { - "style": Object { - "dark": "#000000", + "dark": "#000000", - "light": "#ffffff", + "light": "#ffffff", - }, - } - }" + } + } prop:displayMode="both" prop:edgeless={ Object { "style": Object { "borderRadius": 8, at utils/asserts.ts:742 740 | printFunctionName: false, 741 | }); > 742 | expect(formattedJSX, formattedJSX).toEqual(snapshot.trimStart()); | ^ 743 | } 744 | 745 | type MimeType = 'text/plain' | 'blocksuite/x-c+w' | 'text/html'; at assertStoreMatchJSX (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:742:38) at /home/runner/work/blocksuite/blocksuite/tests/attachment.spec.ts:375:3
attachment.spec.ts:362:1 › should turn attachment to image works: tests/utils/asserts.ts#L742
3) attachment.spec.ts:362:1 › should turn attachment to image works ────────────────────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: <affine:note prop:background={ Object { "dark": "#000000", "light": "#ffffff", } } prop:displayMode="both" prop:edgeless={ Object { "style": Object { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box", }, } } prop:hidden={false} prop:index="a0" prop:lockedBySelf={false} > <affine:image prop:caption="" prop:height={0} prop:index="a0" prop:lockedBySelf={false} prop:rotate={0} prop:size={45801} prop:sourceId="ejImogf-Tb7AuKY-v94uz1zuOJbClqK-tWBxVr_ksGA=" prop:width={0} /> </affine:note> expect(received).toEqual(expected) // deep equality - Expected - 7 + Received + 5 @@ -1,14 +1,12 @@ <affine:note - prop:background="{ + prop:background={ Object { - "style": Object { - "dark": "#000000", + "dark": "#000000", - "light": "#ffffff", + "light": "#ffffff", - }, - } - }" + } + } prop:displayMode="both" prop:edgeless={ Object { "style": Object { "borderRadius": 8, at utils/asserts.ts:742 740 | printFunctionName: false, 741 | }); > 742 | expect(formattedJSX, formattedJSX).toEqual(snapshot.trimStart()); | ^ 743 | } 744 | 745 | type MimeType = 'text/plain' | 'blocksuite/x-c+w' | 'text/html'; at assertStoreMatchJSX (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:742:38) at /home/runner/work/blocksuite/blocksuite/tests/attachment.spec.ts:375:3
edgeless/auto-complete.spec.ts:133:5 › auto-complete › drag on auto-complete button › drag on right auto-complete button to add note: tests/utils/asserts.ts#L1086
1) edgeless/auto-complete.spec.ts:133: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: "#ffffff" Received: "rgb(255, 255, 255)" at utils/asserts.ts:1086 1084 | }); 1085 | > 1086 | expect(backgroundColor).toEqual(color); | ^ 1087 | } 1088 | 1089 | function toHex(color: string) { at assertEdgelessNoteBackground (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:1086:27) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/auto-complete.spec.ts:162:7
edgeless/auto-complete.spec.ts:133:5 › auto-complete › drag on auto-complete button › drag on right auto-complete button to add note: tests/utils/asserts.ts#L1086
1) edgeless/auto-complete.spec.ts:133:5 › auto-complete › drag on auto-complete button › drag on right auto-complete button to add note Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toEqual(expected) // deep equality Expected: "#ffffff" Received: "rgb(255, 255, 255)" at utils/asserts.ts:1086 1084 | }); 1085 | > 1086 | expect(backgroundColor).toEqual(color); | ^ 1087 | } 1088 | 1089 | function toHex(color: string) { at assertEdgelessNoteBackground (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:1086:27) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/auto-complete.spec.ts:162:7
edgeless/auto-complete.spec.ts:133:5 › auto-complete › drag on auto-complete button › drag on right auto-complete button to add note: tests/utils/asserts.ts#L1086
1) edgeless/auto-complete.spec.ts:133:5 › auto-complete › drag on auto-complete button › drag on right auto-complete button to add note Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toEqual(expected) // deep equality Expected: "#ffffff" Received: "rgb(255, 255, 255)" at utils/asserts.ts:1086 1084 | }); 1085 | > 1086 | expect(backgroundColor).toEqual(color); | ^ 1087 | } 1088 | 1089 | function toHex(color: string) { at assertEdgelessNoteBackground (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:1086:27) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/auto-complete.spec.ts:162:7
edgeless/auto-complete.spec.ts:133:5 › auto-complete › drag on auto-complete button › drag on right auto-complete button to add note: tests/utils/asserts.ts#L1086
1) edgeless/auto-complete.spec.ts:133:5 › auto-complete › drag on auto-complete button › drag on right auto-complete button to add note Retry #3 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toEqual(expected) // deep equality Expected: "#ffffff" Received: "rgb(255, 255, 255)" at utils/asserts.ts:1086 1084 | }); 1085 | > 1086 | expect(backgroundColor).toEqual(color); | ^ 1087 | } 1088 | 1089 | function toHex(color: string) { at assertEdgelessNoteBackground (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:1086:27) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/auto-complete.spec.ts:162:7
E2E Test (5)
Process completed with exit code 1.
edgeless/shape.spec.ts:184:1 › change shape stroke color: tests/utils/asserts.ts#L1120
1) edgeless/shape.spec.ts:184:1 › change shape stroke color ────────────────────────────────────── Error: expect(received).toBeTruthy() Received: "" at utils/asserts.ts:1120 1118 | ) { 1119 | const themeColor = await getCurrentThemeCSSPropertyValue(page, edgelessColor); > 1120 | expect(themeColor).toBeTruthy(); | ^ 1121 | const edgelessHexColor = toHex(themeColor); 1122 | 1123 | assertSameColor(hexColor, edgelessHexColor as `#${string}`); at assertEdgelessColorSameWithHexColor (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:1120:22) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/shape.spec.ts:203:3
edgeless/shape.spec.ts:184:1 › change shape stroke color: tests/utils/asserts.ts#L1120
1) edgeless/shape.spec.ts:184:1 › change shape stroke color ────────────────────────────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toBeTruthy() Received: "" at utils/asserts.ts:1120 1118 | ) { 1119 | const themeColor = await getCurrentThemeCSSPropertyValue(page, edgelessColor); > 1120 | expect(themeColor).toBeTruthy(); | ^ 1121 | const edgelessHexColor = toHex(themeColor); 1122 | 1123 | assertSameColor(hexColor, edgelessHexColor as `#${string}`); at assertEdgelessColorSameWithHexColor (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:1120:22) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/shape.spec.ts:203:3
edgeless/shape.spec.ts:184:1 › change shape stroke color: tests/utils/asserts.ts#L1120
1) edgeless/shape.spec.ts:184:1 › change shape stroke color ────────────────────────────────────── Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toBeTruthy() Received: "" at utils/asserts.ts:1120 1118 | ) { 1119 | const themeColor = await getCurrentThemeCSSPropertyValue(page, edgelessColor); > 1120 | expect(themeColor).toBeTruthy(); | ^ 1121 | const edgelessHexColor = toHex(themeColor); 1122 | 1123 | assertSameColor(hexColor, edgelessHexColor as `#${string}`); at assertEdgelessColorSameWithHexColor (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:1120:22) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/shape.spec.ts:203:3
edgeless/shape.spec.ts:184:1 › change shape stroke color: tests/utils/asserts.ts#L1120
1) edgeless/shape.spec.ts:184:1 › change shape stroke color ────────────────────────────────────── Retry #3 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toBeTruthy() Received: "" at utils/asserts.ts:1120 1118 | ) { 1119 | const themeColor = await getCurrentThemeCSSPropertyValue(page, edgelessColor); > 1120 | expect(themeColor).toBeTruthy(); | ^ 1121 | const edgelessHexColor = toHex(themeColor); 1122 | 1123 | assertSameColor(hexColor, edgelessHexColor as `#${string}`); at assertEdgelessColorSameWithHexColor (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:1120:22) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/shape.spec.ts:203:3
edgeless/shape.spec.ts:542:1 › change shape style: tests/utils/asserts.ts#L1120
2) edgeless/shape.spec.ts:542:1 › change shape style ───────────────────────────────────────────── Error: expect(received).toBeTruthy() Received: "" at utils/asserts.ts:1120 1118 | ) { 1119 | const themeColor = await getCurrentThemeCSSPropertyValue(page, edgelessColor); > 1120 | expect(themeColor).toBeTruthy(); | ^ 1121 | const edgelessHexColor = toHex(themeColor); 1122 | 1123 | assertSameColor(hexColor, edgelessHexColor as `#${string}`); at assertEdgelessColorSameWithHexColor (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:1120:22) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/shape.spec.ts:563:3
edgeless/shape.spec.ts:542:1 › change shape style: tests/utils/asserts.ts#L1120
2) edgeless/shape.spec.ts:542:1 › change shape style ───────────────────────────────────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toBeTruthy() Received: "" at utils/asserts.ts:1120 1118 | ) { 1119 | const themeColor = await getCurrentThemeCSSPropertyValue(page, edgelessColor); > 1120 | expect(themeColor).toBeTruthy(); | ^ 1121 | const edgelessHexColor = toHex(themeColor); 1122 | 1123 | assertSameColor(hexColor, edgelessHexColor as `#${string}`); at assertEdgelessColorSameWithHexColor (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:1120:22) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/shape.spec.ts:563:3
edgeless/shape.spec.ts:542:1 › change shape style: tests/utils/asserts.ts#L1120
2) edgeless/shape.spec.ts:542:1 › change shape style ───────────────────────────────────────────── Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toBeTruthy() Received: "" at utils/asserts.ts:1120 1118 | ) { 1119 | const themeColor = await getCurrentThemeCSSPropertyValue(page, edgelessColor); > 1120 | expect(themeColor).toBeTruthy(); | ^ 1121 | const edgelessHexColor = toHex(themeColor); 1122 | 1123 | assertSameColor(hexColor, edgelessHexColor as `#${string}`); at assertEdgelessColorSameWithHexColor (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:1120:22) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/shape.spec.ts:563:3
edgeless/shape.spec.ts:542:1 › change shape style: tests/utils/asserts.ts#L1120
2) edgeless/shape.spec.ts:542:1 › change shape style ───────────────────────────────────────────── Retry #3 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toBeTruthy() Received: "" at utils/asserts.ts:1120 1118 | ) { 1119 | const themeColor = await getCurrentThemeCSSPropertyValue(page, edgelessColor); > 1120 | expect(themeColor).toBeTruthy(); | ^ 1121 | const edgelessHexColor = toHex(themeColor); 1122 | 1123 | assertSameColor(hexColor, edgelessHexColor as `#${string}`); at assertEdgelessColorSameWithHexColor (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:1120:22) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/shape.spec.ts:563:3
edgeless/shortcut.spec.ts:119:1 › should not switch shapes in editing: tests/utils/actions/edgeless.ts#L369
3) edgeless/shortcut.spec.ts:119:1 › should not switch shapes in editing ───────────────────────── TimeoutError: locator.click: Timeout 5000ms exceeded. Call log: - waiting for locator('edgeless-slide-menu edgeless-tool-icon-button').filter({ hasText: 'Square' }) - locator resolved to <edgeless-tool-icon-button role="button">…</edgeless-tool-icon-button> - attempting click action 2 × waiting for element to be visible, enabled and stable - element is not stable - retrying click action - waiting 20ms - waiting for element to be visible, enabled and stable - element was detached from the DOM, retrying at utils/actions/edgeless.ts:369 367 | .locator('edgeless-slide-menu edgeless-tool-icon-button') 368 | .filter({ hasText: shape }); > 369 | await squareShapeButton.click(); | ^ 370 | break; 371 | } 372 | } at setEdgelessTool (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:369:31) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/shortcut.spec.ts:137:3
E2E Test (12)
Process completed with exit code 1.
edgeless/edgeless-text.spec.ts:371:3 › edgeless text block › min width limit for embed block: tests/edgeless/edgeless-text.spec.ts#L379
1) edgeless/edgeless-text.spec.ts:371:3 › edgeless text block › min width limit for embed block ── Error: expect(string).toMatchSnapshot(expected) { "type": "block", "id": "0", "flavour": "affine:page", "version": 2, "props": { "title": { "$blocksuite:internal:text$": true, "delta": [] } }, "children": [ { "type": "block", "id": "1", "flavour": "affine:surface", "version": 5, "props": { "elements": {} }, "children": [ { "type": "block", "id": "4", "flavour": "affine:edgeless-text", "version": 1, "props": { "xywh": "[-25,-25,50,26]", "index": "a1", "lockedBySelf": false, "color": "--a#84cffine-v2-edgeless-palette-medium-blueMediumf", "fontFamily": "blocksuite:surface:Inter", "fontStyle": "normal", "fontWeight": "400", "textAlign": "left", "scale": 1, "rotate": 0, "hasMaxWidth": false }, "children": [ { "type": "block", "id": "5", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [] }, "collapsed": false }, "children": [] } ] } ] }, { "type": "block", "id": "2", "flavour": "affine:note", "version": 1, "props": { "xywh": "[0,0,498,92]", "background": { "--daffrk": "#000000", "line-v2-edgeless-note-white": "#ffffff" }, "index": "a0", "lockedBySelf": false, "hidden": false, "displayMode": "both", "edgeless": { "style": { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box" } } }, "children": [ { "type": "block", "id": "3", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [] }, "collapsed": false }, "children": [] } ] } ] } Expected: /home/runner/work/blocksuite/blocksuite/tests/snapshots/edgeless/edgeless-text.spec.ts/min-width-limit-for-embed-block-init.json Received: /home/runner/work/blocksuite/blocksuite/tests/test-results/edgeless-edgeless-text-edg-a6ff1-width-limit-for-embed-block/min-width-limit-for-embed-block-init-actual.json 377 | await waitNextFrame(page); 378 | > 379 | expect(await getPageSnapshot(page, true)).toMatchSnapshot( | ^ 380 | `${testInfo.title}_init.json` 381 | ); 382 | at /home/runner/work/blocksuite/blocksuite/tests/edgeless/edgeless-text.spec.ts:379:47
edgeless/edgeless-text.spec.ts:371:3 › edgeless text block › min width limit for embed block: tests/edgeless/edgeless-text.spec.ts#L379
1) edgeless/edgeless-text.spec.ts:371:3 › edgeless text block › min width limit for embed block ── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) { "type": "block", "id": "0", "flavour": "affine:page", "version": 2, "props": { "title": { "$blocksuite:internal:text$": true, "delta": [] } }, "children": [ { "type": "block", "id": "1", "flavour": "affine:surface", "version": 5, "props": { "elements": {} }, "children": [ { "type": "block", "id": "4", "flavour": "affine:edgeless-text", "version": 1, "props": { "xywh": "[-25,-25,50,26]", "index": "a1", "lockedBySelf": false, "color": "--a#84cffine-v2-edgeless-palette-medium-blueMediumf", "fontFamily": "blocksuite:surface:Inter", "fontStyle": "normal", "fontWeight": "400", "textAlign": "left", "scale": 1, "rotate": 0, "hasMaxWidth": false }, "children": [ { "type": "block", "id": "5", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [] }, "collapsed": false }, "children": [] } ] } ] }, { "type": "block", "id": "2", "flavour": "affine:note", "version": 1, "props": { "xywh": "[0,0,498,92]", "background": { "--daffrk": "#000000", "line-v2-edgeless-note-white": "#ffffff" }, "index": "a0", "lockedBySelf": false, "hidden": false, "displayMode": "both", "edgeless": { "style": { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box" } } }, "children": [ { "type": "block", "id": "3", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [] }, "collapsed": false }, "children": [] } ] } ] } Expected: /home/runner/work/blocksuite/blocksuite/tests/snapshots/edgeless/edgeless-text.spec.ts/min-width-limit-for-embed-block-init.json Received: /home/runner/work/blocksuite/blocksuite/tests/test-results/edgeless-edgeless-text-edg-a6ff1-width-limit-for-embed-block-retry1/min-width-limit-for-embed-block-init-actual.json 377 | await waitNextFrame(page); 378 | > 379 | expect(await getPageSnapshot(page, true)).toMatchSnapshot( | ^ 380 | `${testInfo.title}_init.json` 381 | ); 382 | at /home/runner/work/blocksuite/blocksuite/tests/edgeless/edgeless-text.spec.ts:379:47
edgeless/edgeless-text.spec.ts:371:3 › edgeless text block › min width limit for embed block: tests/edgeless/edgeless-text.spec.ts#L379
1) edgeless/edgeless-text.spec.ts:371:3 › edgeless text block › min width limit for embed block ── Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) { "type": "block", "id": "0", "flavour": "affine:page", "version": 2, "props": { "title": { "$blocksuite:internal:text$": true, "delta": [] } }, "children": [ { "type": "block", "id": "1", "flavour": "affine:surface", "version": 5, "props": { "elements": {} }, "children": [ { "type": "block", "id": "4", "flavour": "affine:edgeless-text", "version": 1, "props": { "xywh": "[-25,-25,50,26]", "index": "a1", "lockedBySelf": false, "color": "--a#84cffine-v2-edgeless-palette-medium-blueMediumf", "fontFamily": "blocksuite:surface:Inter", "fontStyle": "normal", "fontWeight": "400", "textAlign": "left", "scale": 1, "rotate": 0, "hasMaxWidth": false }, "children": [ { "type": "block", "id": "5", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [] }, "collapsed": false }, "children": [] } ] } ] }, { "type": "block", "id": "2", "flavour": "affine:note", "version": 1, "props": { "xywh": "[0,0,498,92]", "background": { "--daffrk": "#000000", "line-v2-edgeless-note-white": "#ffffff" }, "index": "a0", "lockedBySelf": false, "hidden": false, "displayMode": "both", "edgeless": { "style": { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box" } } }, "children": [ { "type": "block", "id": "3", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [] }, "collapsed": false }, "children": [] } ] } ] } Expected: /home/runner/work/blocksuite/blocksuite/tests/snapshots/edgeless/edgeless-text.spec.ts/min-width-limit-for-embed-block-init.json Received: /home/runner/work/blocksuite/blocksuite/tests/test-results/edgeless-edgeless-text-edg-a6ff1-width-limit-for-embed-block-retry2/min-width-limit-for-embed-block-init-actual.json 377 | await waitNextFrame(page); 378 | > 379 | expect(await getPageSnapshot(page, true)).toMatchSnapshot( | ^ 380 | `${testInfo.title}_init.json` 381 | ); 382 | at /home/runner/work/blocksuite/blocksuite/tests/edgeless/edgeless-text.spec.ts:379:47
edgeless/edgeless-text.spec.ts:371:3 › edgeless text block › min width limit for embed block: tests/edgeless/edgeless-text.spec.ts#L379
1) edgeless/edgeless-text.spec.ts:371:3 › edgeless text block › min width limit for embed block ── Retry #3 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) { "type": "block", "id": "0", "flavour": "affine:page", "version": 2, "props": { "title": { "$blocksuite:internal:text$": true, "delta": [] } }, "children": [ { "type": "block", "id": "1", "flavour": "affine:surface", "version": 5, "props": { "elements": {} }, "children": [ { "type": "block", "id": "4", "flavour": "affine:edgeless-text", "version": 1, "props": { "xywh": "[-25,-25,50,26]", "index": "a1", "lockedBySelf": false, "color": "--a#84cffine-v2-edgeless-palette-medium-blueMediumf", "fontFamily": "blocksuite:surface:Inter", "fontStyle": "normal", "fontWeight": "400", "textAlign": "left", "scale": 1, "rotate": 0, "hasMaxWidth": false }, "children": [ { "type": "block", "id": "5", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [] }, "collapsed": false }, "children": [] } ] } ] }, { "type": "block", "id": "2", "flavour": "affine:note", "version": 1, "props": { "xywh": "[0,0,498,92]", "background": { "--daffrk": "#000000", "line-v2-edgeless-note-white": "#ffffff" }, "index": "a0", "lockedBySelf": false, "hidden": false, "displayMode": "both", "edgeless": { "style": { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box" } } }, "children": [ { "type": "block", "id": "3", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [] }, "collapsed": false }, "children": [] } ] } ] } Expected: /home/runner/work/blocksuite/blocksuite/tests/snapshots/edgeless/edgeless-text.spec.ts/min-width-limit-for-embed-block-init.json Received: /home/runner/work/blocksuite/blocksuite/tests/test-results/edgeless-edgeless-text-edg-a6ff1-width-limit-for-embed-block-retry3/min-width-limit-for-embed-block-init-actual.json 377 | await waitNextFrame(page); 378 | > 379 | expect(await getPageSnapshot(page, true)).toMatchSnapshot( | ^ 380 | `${testInfo.title}_init.json` 381 | ); 382 | at /home/runner/work/blocksuite/blocksuite/tests/edgeless/edgeless-text.spec.ts:379:47
edgeless/edgeless-text.spec.ts:547:1 › press backspace at the start of first line when edgeless text exist: tests/edgeless/edgeless-text.spec.ts#L580
2) edgeless/edgeless-text.spec.ts:547:1 › press backspace at the start of first line when edgeless text exist Error: expect(string).toMatchSnapshot(expected) { "type": "block", "id": "0", "flavour": "affine:page", "version": 2, "props": { "title": { "$blocksuite:internal:text$": true, "delta": [] } }, "children": [ { "type": "block", "id": "1", "flavour": "affine:surface", "version": 5, "props": { "elements": {} }, "children": [ { "type": "block", "id": "3", "flavour": "affine:edgeless-text", "version": 1, "props": { "xywh": "[-25,-25,50,26]", "index": "a1", "lockedBySelf": false, "color": "--a#84cffine-v2-edgeless-palette-medium-blueMediumf", "fontFamily": "blocksuite:surface:Inter", "fontStyle": "normal", "fontWeight": "400", "textAlign": "left", "scale": 1, "rotate": 0, "hasMaxWidth": true }, "children": [ { "type": "block", "id": "4", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "aaa" } ] }, "collapsed": false }, "children": [] } ] } ] }, { "type": "block", "id": "2", "flavour": "affine:note", "version": 1, "props": { "xywh": "[0,0,498,48]", "background": { "--daffrk": "#000000", "line-v2-edgeless-note-white": "#ffffff" }, "index": "a0", "lockedBySelf": false, "hidden": false, "displayMode": "both", "edgeless": { "style": { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box" } } }, "children": [] } ] } Expected: /home/runner/work/blocksuite/blocksuite/tests/snapshots/edgeless/edgeless-text.spec.ts/press-backspace-at-the-start-of-first-line-when-edgeless-text-exist-note-empty.json Received: /home/runner/work/blocksuite/blocksuite/tests/test-results/edgeless-edgeless-text-pre-86361-ne-when-edgeless-text-exist/press-backspace-at-the-sta-93c64--text-exist-note-empty-actual.json 578 | await switchEditorMode(page); 579 | > 580 | expect(await getPageSnapshot(page, true)).toMatchSnapshot( | ^ 581 | `${testInfo.title}_note_empty.json` 582 | ); 583 | at /home/runner/work/blocksuite/blocksuite/tests/edgeless/edgeless-text.spec.ts:580:45
edgeless/edgeless-text.spec.ts:547:1 › press backspace at the start of first line when edgeless text exist: tests/edgeless/edgeless-text.spec.ts#L580
2) edgeless/edgeless-text.spec.ts:547:1 › press backspace at the start of first line when edgeless text exist Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) { "type": "block", "id": "0", "flavour": "affine:page", "version": 2, "props": { "title": { "$blocksuite:internal:text$": true, "delta": [] } }, "children": [ { "type": "block", "id": "1", "flavour": "affine:surface", "version": 5, "props": { "elements": {} }, "children": [ { "type": "block", "id": "3", "flavour": "affine:edgeless-text", "version": 1, "props": { "xywh": "[-25,-25,50,26]", "index": "a1", "lockedBySelf": false, "color": "--a#84cffine-v2-edgeless-palette-medium-blueMediumf", "fontFamily": "blocksuite:surface:Inter", "fontStyle": "normal", "fontWeight": "400", "textAlign": "left", "scale": 1, "rotate": 0, "hasMaxWidth": true }, "children": [ { "type": "block", "id": "4", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "aaa" } ] }, "collapsed": false }, "children": [] } ] } ] }, { "type": "block", "id": "2", "flavour": "affine:note", "version": 1, "props": { "xywh": "[0,0,498,48]", "background": { "--daffrk": "#000000", "line-v2-edgeless-note-white": "#ffffff" }, "index": "a0", "lockedBySelf": false, "hidden": false, "displayMode": "both", "edgeless": { "style": { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box" } } }, "children": [] } ] } Expected: /home/runner/work/blocksuite/blocksuite/tests/snapshots/edgeless/edgeless-text.spec.ts/press-backspace-at-the-start-of-first-line-when-edgeless-text-exist-note-empty.json Received: /home/runner/work/blocksuite/blocksuite/tests/test-results/edgeless-edgeless-text-pre-86361-ne-when-edgeless-text-exist-retry1/press-backspace-at-the-sta-93c64--text-exist-note-empty-actual.json 578 | await switchEditorMode(page); 579 | > 580 | expect(await getPageSnapshot(page, true)).toMatchSnapshot( | ^ 581 | `${testInfo.title}_note_empty.json` 582 | ); 583 | at /home/runner/work/blocksuite/blocksuite/tests/edgeless/edgeless-text.spec.ts:580:45
edgeless/edgeless-text.spec.ts:547:1 › press backspace at the start of first line when edgeless text exist: tests/edgeless/edgeless-text.spec.ts#L580
2) edgeless/edgeless-text.spec.ts:547:1 › press backspace at the start of first line when edgeless text exist Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) { "type": "block", "id": "0", "flavour": "affine:page", "version": 2, "props": { "title": { "$blocksuite:internal:text$": true, "delta": [] } }, "children": [ { "type": "block", "id": "1", "flavour": "affine:surface", "version": 5, "props": { "elements": {} }, "children": [ { "type": "block", "id": "3", "flavour": "affine:edgeless-text", "version": 1, "props": { "xywh": "[-25,-25,50,26]", "index": "a1", "lockedBySelf": false, "color": "--a#84cffine-v2-edgeless-palette-medium-blueMediumf", "fontFamily": "blocksuite:surface:Inter", "fontStyle": "normal", "fontWeight": "400", "textAlign": "left", "scale": 1, "rotate": 0, "hasMaxWidth": true }, "children": [ { "type": "block", "id": "4", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "aaa" } ] }, "collapsed": false }, "children": [] } ] } ] }, { "type": "block", "id": "2", "flavour": "affine:note", "version": 1, "props": { "xywh": "[0,0,498,48]", "background": { "--daffrk": "#000000", "line-v2-edgeless-note-white": "#ffffff" }, "index": "a0", "lockedBySelf": false, "hidden": false, "displayMode": "both", "edgeless": { "style": { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box" } } }, "children": [] } ] } Expected: /home/runner/work/blocksuite/blocksuite/tests/snapshots/edgeless/edgeless-text.spec.ts/press-backspace-at-the-start-of-first-line-when-edgeless-text-exist-note-empty.json Received: /home/runner/work/blocksuite/blocksuite/tests/test-results/edgeless-edgeless-text-pre-86361-ne-when-edgeless-text-exist-retry2/press-backspace-at-the-sta-93c64--text-exist-note-empty-actual.json 578 | await switchEditorMode(page); 579 | > 580 | expect(await getPageSnapshot(page, true)).toMatchSnapshot( | ^ 581 | `${testInfo.title}_note_empty.json` 582 | ); 583 | at /home/runner/work/blocksuite/blocksuite/tests/edgeless/edgeless-text.spec.ts:580:45
edgeless/edgeless-text.spec.ts:547:1 › press backspace at the start of first line when edgeless text exist: tests/edgeless/edgeless-text.spec.ts#L580
2) edgeless/edgeless-text.spec.ts:547:1 › press backspace at the start of first line when edgeless text exist Retry #3 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) { "type": "block", "id": "0", "flavour": "affine:page", "version": 2, "props": { "title": { "$blocksuite:internal:text$": true, "delta": [] } }, "children": [ { "type": "block", "id": "1", "flavour": "affine:surface", "version": 5, "props": { "elements": {} }, "children": [ { "type": "block", "id": "3", "flavour": "affine:edgeless-text", "version": 1, "props": { "xywh": "[-25,-25,50,26]", "index": "a1", "lockedBySelf": false, "color": "--a#84cffine-v2-edgeless-palette-medium-blueMediumf", "fontFamily": "blocksuite:surface:Inter", "fontStyle": "normal", "fontWeight": "400", "textAlign": "left", "scale": 1, "rotate": 0, "hasMaxWidth": true }, "children": [ { "type": "block", "id": "4", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "aaa" } ] }, "collapsed": false }, "children": [] } ] } ] }, { "type": "block", "id": "2", "flavour": "affine:note", "version": 1, "props": { "xywh": "[0,0,498,48]", "background": { "--daffrk": "#000000", "line-v2-edgeless-note-white": "#ffffff" }, "index": "a0", "lockedBySelf": false, "hidden": false, "displayMode": "both", "edgeless": { "style": { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box" } } }, "children": [] } ] } Expected: /home/runner/work/blocksuite/blocksuite/tests/snapshots/edgeless/edgeless-text.spec.ts/press-backspace-at-the-start-of-first-line-when-edgeless-text-exist-note-empty.json Received: /home/runner/work/blocksuite/blocksuite/tests/test-results/edgeless-edgeless-text-pre-86361-ne-when-edgeless-text-exist-retry3/press-backspace-at-the-sta-93c64--text-exist-note-empty-actual.json 578 | await switchEditorMode(page); 579 | > 580 | expect(await getPageSnapshot(page, true)).toMatchSnapshot( | ^ 581 | `${testInfo.title}_note_empty.json` 582 | ); 583 | at /home/runner/work/blocksuite/blocksuite/tests/edgeless/edgeless-text.spec.ts:580:45
E2E Test (7)
Process completed with exit code 1.
hotkey/bracket.spec.ts:48:1 › should bracket complete with backtick works: tests/hotkey/bracket.spec.ts#L59
1) hotkey/bracket.spec.ts:48:1 › should bracket complete with backtick works ───────────────────── Error: expect(string).toMatchSnapshot(expected) { "type": "block", "id": "0", "flavour": "affine:page", "version": 2, "props": { "title": { "$blocksuite:internal:text$": true, "delta": [] } }, "children": [ { "type": "block", "id": "1", "flavour": "affine:note", "version": 1, "props": { "xywh": "[0,0,498,92]", "background": { "dark": "#000000", "light": "#ffffff" }, "index": "a0", "lockedBySelf": false, "hidden": false, "displayMode": "both", "edgeless": { "style": { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box" } } }, "children": [ { "type": "block", "id": "2", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "he" }, { "insert": "llo", "attributes": { "code": true } }, { "insert": " world" } ] }, "collapsed": false }, "children": [] } ] } ] } Expected: /home/runner/work/blocksuite/blocksuite/tests/snapshots/hotkey/bracket.spec.ts/should-bracket-complete-with-backtick-works.json Received: /home/runner/work/blocksuite/blocksuite/tests/test-results/hotkey-bracket-should-bracket-complete-with-backtick-works/should-bracket-complete-with-backtick-works-actual.json 57 | await resetHistory(page); 58 | await type(page, '`'); > 59 | expect(await getPageSnapshot(page, true)).toMatchSnapshot( | ^ 60 | `${testInfo.title}.json` 61 | ); 62 | at /home/runner/work/blocksuite/blocksuite/tests/hotkey/bracket.spec.ts:59:45
hotkey/bracket.spec.ts:48:1 › should bracket complete with backtick works: tests/hotkey/bracket.spec.ts#L59
1) hotkey/bracket.spec.ts:48:1 › should bracket complete with backtick works ───────────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) { "type": "block", "id": "0", "flavour": "affine:page", "version": 2, "props": { "title": { "$blocksuite:internal:text$": true, "delta": [] } }, "children": [ { "type": "block", "id": "1", "flavour": "affine:note", "version": 1, "props": { "xywh": "[0,0,498,92]", "background": { "dark": "#000000", "light": "#ffffff" }, "index": "a0", "lockedBySelf": false, "hidden": false, "displayMode": "both", "edgeless": { "style": { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box" } } }, "children": [ { "type": "block", "id": "2", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "he" }, { "insert": "llo", "attributes": { "code": true } }, { "insert": " world" } ] }, "collapsed": false }, "children": [] } ] } ] } Expected: /home/runner/work/blocksuite/blocksuite/tests/snapshots/hotkey/bracket.spec.ts/should-bracket-complete-with-backtick-works.json Received: /home/runner/work/blocksuite/blocksuite/tests/test-results/hotkey-bracket-should-bracket-complete-with-backtick-works-retry1/should-bracket-complete-with-backtick-works-actual.json 57 | await resetHistory(page); 58 | await type(page, '`'); > 59 | expect(await getPageSnapshot(page, true)).toMatchSnapshot( | ^ 60 | `${testInfo.title}.json` 61 | ); 62 | at /home/runner/work/blocksuite/blocksuite/tests/hotkey/bracket.spec.ts:59:45
hotkey/bracket.spec.ts:48:1 › should bracket complete with backtick works: tests/hotkey/bracket.spec.ts#L59
1) hotkey/bracket.spec.ts:48:1 › should bracket complete with backtick works ───────────────────── Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) { "type": "block", "id": "0", "flavour": "affine:page", "version": 2, "props": { "title": { "$blocksuite:internal:text$": true, "delta": [] } }, "children": [ { "type": "block", "id": "1", "flavour": "affine:note", "version": 1, "props": { "xywh": "[0,0,498,92]", "background": { "dark": "#000000", "light": "#ffffff" }, "index": "a0", "lockedBySelf": false, "hidden": false, "displayMode": "both", "edgeless": { "style": { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box" } } }, "children": [ { "type": "block", "id": "2", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "he" }, { "insert": "llo", "attributes": { "code": true } }, { "insert": " world" } ] }, "collapsed": false }, "children": [] } ] } ] } Expected: /home/runner/work/blocksuite/blocksuite/tests/snapshots/hotkey/bracket.spec.ts/should-bracket-complete-with-backtick-works.json Received: /home/runner/work/blocksuite/blocksuite/tests/test-results/hotkey-bracket-should-bracket-complete-with-backtick-works-retry2/should-bracket-complete-with-backtick-works-actual.json 57 | await resetHistory(page); 58 | await type(page, '`'); > 59 | expect(await getPageSnapshot(page, true)).toMatchSnapshot( | ^ 60 | `${testInfo.title}.json` 61 | ); 62 | at /home/runner/work/blocksuite/blocksuite/tests/hotkey/bracket.spec.ts:59:45
hotkey/bracket.spec.ts:48:1 › should bracket complete with backtick works: tests/hotkey/bracket.spec.ts#L59
1) hotkey/bracket.spec.ts:48:1 › should bracket complete with backtick works ───────────────────── Retry #3 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) { "type": "block", "id": "0", "flavour": "affine:page", "version": 2, "props": { "title": { "$blocksuite:internal:text$": true, "delta": [] } }, "children": [ { "type": "block", "id": "1", "flavour": "affine:note", "version": 1, "props": { "xywh": "[0,0,498,92]", "background": { "dark": "#000000", "light": "#ffffff" }, "index": "a0", "lockedBySelf": false, "hidden": false, "displayMode": "both", "edgeless": { "style": { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box" } } }, "children": [ { "type": "block", "id": "2", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "he" }, { "insert": "llo", "attributes": { "code": true } }, { "insert": " world" } ] }, "collapsed": false }, "children": [] } ] } ] } Expected: /home/runner/work/blocksuite/blocksuite/tests/snapshots/hotkey/bracket.spec.ts/should-bracket-complete-with-backtick-works.json Received: /home/runner/work/blocksuite/blocksuite/tests/test-results/hotkey-bracket-should-bracket-complete-with-backtick-works-retry3/should-bracket-complete-with-backtick-works-actual.json 57 | await resetHistory(page); 58 | await type(page, '`'); > 59 | expect(await getPageSnapshot(page, true)).toMatchSnapshot( | ^ 60 | `${testInfo.title}.json` 61 | ); 62 | at /home/runner/work/blocksuite/blocksuite/tests/hotkey/bracket.spec.ts:59:45
hotkey/hotkey.spec.ts:79:1 › type character jump out code node: tests/hotkey/hotkey.spec.ts#L86
2) hotkey/hotkey.spec.ts:79:1 › type character jump out code node ──────────────────────────────── Error: expect(string).toMatchSnapshot(expected) { "type": "block", "id": "0", "flavour": "affine:page", "version": 2, "props": { "title": { "$blocksuite:internal:text$": true, "delta": [] } }, "children": [ { "type": "block", "id": "1", "flavour": "affine:note", "version": 1, "props": { "xywh": "[0,0,498,92]", "background": { "dark": "#000000", "light": "#ffffff" }, "index": "a0", "lockedBySelf": false, "hidden": false, "displayMode": "both", "edgeless": { "style": { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box" } } }, "children": [ { "type": "block", "id": "2", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "Hello", "attributes": { "code": true } } ] }, "collapsed": false }, "children": [] } ] } ] } Expected: /home/runner/work/blocksuite/blocksuite/tests/snapshots/hotkey/hotkey.spec.ts/type-character-jump-out-code-node-1.json Received: /home/runner/work/blocksuite/blocksuite/tests/test-results/hotkey-hotkey-type-character-jump-out-code-node/type-character-jump-out-code-node-1-actual.json 84 | await setInlineRangeInSelectedRichText(page, 0, 5); 85 | await inlineCode(page); > 86 | expect(await getPageSnapshot(page, true)).toMatchSnapshot( | ^ 87 | `${testInfo.title}_1.json` 88 | ); 89 | await focusRichText(page); at /home/runner/work/blocksuite/blocksuite/tests/hotkey/hotkey.spec.ts:86:45
hotkey/hotkey.spec.ts:79:1 › type character jump out code node: tests/hotkey/hotkey.spec.ts#L86
2) hotkey/hotkey.spec.ts:79:1 › type character jump out code node ──────────────────────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) { "type": "block", "id": "0", "flavour": "affine:page", "version": 2, "props": { "title": { "$blocksuite:internal:text$": true, "delta": [] } }, "children": [ { "type": "block", "id": "1", "flavour": "affine:note", "version": 1, "props": { "xywh": "[0,0,498,92]", "background": { "dark": "#000000", "light": "#ffffff" }, "index": "a0", "lockedBySelf": false, "hidden": false, "displayMode": "both", "edgeless": { "style": { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box" } } }, "children": [ { "type": "block", "id": "2", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "Hello", "attributes": { "code": true } } ] }, "collapsed": false }, "children": [] } ] } ] } Expected: /home/runner/work/blocksuite/blocksuite/tests/snapshots/hotkey/hotkey.spec.ts/type-character-jump-out-code-node-1.json Received: /home/runner/work/blocksuite/blocksuite/tests/test-results/hotkey-hotkey-type-character-jump-out-code-node-retry1/type-character-jump-out-code-node-1-actual.json 84 | await setInlineRangeInSelectedRichText(page, 0, 5); 85 | await inlineCode(page); > 86 | expect(await getPageSnapshot(page, true)).toMatchSnapshot( | ^ 87 | `${testInfo.title}_1.json` 88 | ); 89 | await focusRichText(page); at /home/runner/work/blocksuite/blocksuite/tests/hotkey/hotkey.spec.ts:86:45
hotkey/hotkey.spec.ts:79:1 › type character jump out code node: tests/hotkey/hotkey.spec.ts#L86
2) hotkey/hotkey.spec.ts:79:1 › type character jump out code node ──────────────────────────────── Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) { "type": "block", "id": "0", "flavour": "affine:page", "version": 2, "props": { "title": { "$blocksuite:internal:text$": true, "delta": [] } }, "children": [ { "type": "block", "id": "1", "flavour": "affine:note", "version": 1, "props": { "xywh": "[0,0,498,92]", "background": { "dark": "#000000", "light": "#ffffff" }, "index": "a0", "lockedBySelf": false, "hidden": false, "displayMode": "both", "edgeless": { "style": { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box" } } }, "children": [ { "type": "block", "id": "2", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "Hello", "attributes": { "code": true } } ] }, "collapsed": false }, "children": [] } ] } ] } Expected: /home/runner/work/blocksuite/blocksuite/tests/snapshots/hotkey/hotkey.spec.ts/type-character-jump-out-code-node-1.json Received: /home/runner/work/blocksuite/blocksuite/tests/test-results/hotkey-hotkey-type-character-jump-out-code-node-retry2/type-character-jump-out-code-node-1-actual.json 84 | await setInlineRangeInSelectedRichText(page, 0, 5); 85 | await inlineCode(page); > 86 | expect(await getPageSnapshot(page, true)).toMatchSnapshot( | ^ 87 | `${testInfo.title}_1.json` 88 | ); 89 | await focusRichText(page); at /home/runner/work/blocksuite/blocksuite/tests/hotkey/hotkey.spec.ts:86:45
hotkey/hotkey.spec.ts:79:1 › type character jump out code node: tests/hotkey/hotkey.spec.ts#L86
2) hotkey/hotkey.spec.ts:79:1 › type character jump out code node ──────────────────────────────── Retry #3 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) { "type": "block", "id": "0", "flavour": "affine:page", "version": 2, "props": { "title": { "$blocksuite:internal:text$": true, "delta": [] } }, "children": [ { "type": "block", "id": "1", "flavour": "affine:note", "version": 1, "props": { "xywh": "[0,0,498,92]", "background": { "dark": "#000000", "light": "#ffffff" }, "index": "a0", "lockedBySelf": false, "hidden": false, "displayMode": "both", "edgeless": { "style": { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box" } } }, "children": [ { "type": "block", "id": "2", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "Hello", "attributes": { "code": true } } ] }, "collapsed": false }, "children": [] } ] } ] } Expected: /home/runner/work/blocksuite/blocksuite/tests/snapshots/hotkey/hotkey.spec.ts/type-character-jump-out-code-node-1.json Received: /home/runner/work/blocksuite/blocksuite/tests/test-results/hotkey-hotkey-type-character-jump-out-code-node-retry3/type-character-jump-out-code-node-1-actual.json 84 | await setInlineRangeInSelectedRichText(page, 0, 5); 85 | await inlineCode(page); > 86 | expect(await getPageSnapshot(page, true)).toMatchSnapshot( | ^ 87 | `${testInfo.title}_1.json` 88 | ); 89 | await focusRichText(page); at /home/runner/work/blocksuite/blocksuite/tests/hotkey/hotkey.spec.ts:86:45
hotkey/hotkey.spec.ts:118:1 › use formatted cursor with hotkey: tests/hotkey/hotkey.spec.ts#L136
3) hotkey/hotkey.spec.ts:118:1 › use formatted cursor with hotkey ──────────────────────────────── Error: expect(string).toMatchSnapshot(expected) { "type": "block", "id": "0", "flavour": "affine:page", "version": 2, "props": { "title": { "$blocksuite:internal:text$": true, "delta": [] } }, "children": [ { "type": "block", "id": "1", "flavour": "affine:note", "version": 1, "props": { "xywh": "[0,0,498,92]", "background": { "dark": "#000000", "light": "#ffffff" }, "index": "a0", "lockedBySelf": false, "hidden": false, "displayMode": "both", "edgeless": { "style": { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box" } } }, "children": [ { "type": "block", "id": "2", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "aaa" }, { "insert": "bbb", "attributes": { "italic": true } }, { "insert": "ccc", "attributes": { "italic": true, "bold": true } }, { "insert": "ddd", "attributes": { "bold": true } }, { "insert": "eee" } ] }, "collapsed": false }, "children": [] } ] } ] } Expected: /home/runner/work/blocksuite/blocksuite/tests/snapshots/hotkey/hotkey.spec.ts/use-formatted-cursor-with-hotkey-init.json Received: /home/runner/work/blocksuite/blocksuite/tests/test-results/hotkey-hotkey-use-formatted-cursor-with-hotkey/use-formatted-cursor-with-hotkey-init-actual.json 134 | await type(page, 'eee'); 135 | > 136 | expect(await getPageSnapshot(page, true)).toMatchSnapshot( | ^ 137 | `${testInfo.title}_init.json` 138 | ); 139 | at /home/runner/work/blocksuite/blocksuite/tests/hotkey/hotkey.spec.ts:136:45
hotkey/hotkey.spec.ts:118:1 › use formatted cursor with hotkey: tests/hotkey/hotkey.spec.ts#L136
3) hotkey/hotkey.spec.ts:118:1 › use formatted cursor with hotkey ──────────────────────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) { "type": "block", "id": "0", "flavour": "affine:page", "version": 2, "props": { "title": { "$blocksuite:internal:text$": true, "delta": [] } }, "children": [ { "type": "block", "id": "1", "flavour": "affine:note", "version": 1, "props": { "xywh": "[0,0,498,92]", "background": { "dark": "#000000", "light": "#ffffff" }, "index": "a0", "lockedBySelf": false, "hidden": false, "displayMode": "both", "edgeless": { "style": { "borderRadius": 8, "borderSize": 4, "borderStyle": "none", "shadowType": "--affine-note-shadow-box" } } }, "children": [ { "type": "block", "id": "2", "flavour": "affine:paragraph", "version": 1, "props": { "type": "text", "text": { "$blocksuite:internal:text$": true, "delta": [ { "insert": "aaa" }, { "insert": "bbb", "attributes": { "italic": true } }, { "insert": "ccc", "attributes": { "italic": true, "bold": true } }, { "insert": "ddd", "attributes": { "bold": true } }, { "insert": "eee" } ] }, "collapsed": false }, "children": [] } ] } ] } Expected: /home/runner/work/blocksuite/blocksuite/tests/snapshots/hotkey/hotkey.spec.ts/use-formatted-cursor-with-hotkey-init.json Received: /home/runner/work/blocksuite/blocksuite/tests/test-results/hotkey-hotkey-use-formatted-cursor-with-hotkey-retry1/use-formatted-cursor-with-hotkey-init-actual.json 134 | await type(page, 'eee'); 135 | > 136 | expect(await getPageSnapshot(page, true)).toMatchSnapshot( | ^ 137 | `${testInfo.title}_init.json` 138 | ); 139 | at /home/runner/work/blocksuite/blocksuite/tests/hotkey/hotkey.spec.ts:136:45
edgeless/brush.spec.ts:77:1 › add brush element with color: tests/utils/actions/edgeless.ts#L654
1) edgeless/brush.spec.ts:77:1 › add brush element with color ──────────────────────────────────── TimeoutError: locator.click: Timeout 5000ms exceeded. Call log: - waiting for locator('edgeless-brush-menu').locator('edgeless-color-panel').locator('.color-unit[aria-label="HeavyBlue"]') at utils/actions/edgeless.ts:654 652 | .locator('edgeless-color-panel') 653 | .locator(`.color-unit[aria-label="${color}"]`); > 654 | await colorButton.click(); | ^ 655 | } 656 | 657 | export async function selectBrushSize(page: Page, size: string) { at selectBrushColor (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:654:21) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/brush.spec.ts:83:9
edgeless/brush.spec.ts:77:1 › add brush element with color: tests/utils/actions/edgeless.ts#L654
1) edgeless/brush.spec.ts:77:1 › add brush element with color ──────────────────────────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: locator.click: Timeout 5000ms exceeded. Call log: - waiting for locator('edgeless-brush-menu').locator('edgeless-color-panel').locator('.color-unit[aria-label="HeavyBlue"]') at utils/actions/edgeless.ts:654 652 | .locator('edgeless-color-panel') 653 | .locator(`.color-unit[aria-label="${color}"]`); > 654 | await colorButton.click(); | ^ 655 | } 656 | 657 | export async function selectBrushSize(page: Page, size: string) { at selectBrushColor (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:654:21) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/brush.spec.ts:83:9
edgeless/brush.spec.ts:77:1 › add brush element with color: tests/utils/actions/edgeless.ts#L654
1) edgeless/brush.spec.ts:77:1 › add brush element with color ──────────────────────────────────── Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: locator.click: Timeout 5000ms exceeded. Call log: - waiting for locator('edgeless-brush-menu').locator('edgeless-color-panel').locator('.color-unit[aria-label="HeavyBlue"]') at utils/actions/edgeless.ts:654 652 | .locator('edgeless-color-panel') 653 | .locator(`.color-unit[aria-label="${color}"]`); > 654 | await colorButton.click(); | ^ 655 | } 656 | 657 | export async function selectBrushSize(page: Page, size: string) { at selectBrushColor (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:654:21) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/brush.spec.ts:83:9
edgeless/brush.spec.ts:77:1 › add brush element with color: tests/utils/actions/edgeless.ts#L654
1) edgeless/brush.spec.ts:77:1 › add brush element with color ──────────────────────────────────── Retry #3 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: locator.click: Timeout 5000ms exceeded. Call log: - waiting for locator('edgeless-brush-menu').locator('edgeless-color-panel').locator('.color-unit[aria-label="HeavyBlue"]') at utils/actions/edgeless.ts:654 652 | .locator('edgeless-color-panel') 653 | .locator(`.color-unit[aria-label="${color}"]`); > 654 | await colorButton.click(); | ^ 655 | } 656 | 657 | export async function selectBrushSize(page: Page, size: string) { at selectBrushColor (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:654:21) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/brush.spec.ts:83:9
edgeless/brush.spec.ts:94:1 › keep same color when mouse mode switched back to brush: tests/utils/actions/edgeless.ts#L654
2) edgeless/brush.spec.ts:94:1 › keep same color when mouse mode switched back to brush ────────── TimeoutError: locator.click: Timeout 5000ms exceeded. Call log: - waiting for locator('edgeless-brush-menu').locator('edgeless-color-panel').locator('.color-unit[aria-label="HeavyBlue"]') at utils/actions/edgeless.ts:654 652 | .locator('edgeless-color-panel') 653 | .locator(`.color-unit[aria-label="${color}"]`); > 654 | await colorButton.click(); | ^ 655 | } 656 | 657 | export async function selectBrushSize(page: Page, size: string) { at selectBrushColor (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:654:21) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/brush.spec.ts:103:9
edgeless/brush.spec.ts:94:1 › keep same color when mouse mode switched back to brush: tests/utils/actions/edgeless.ts#L654
2) edgeless/brush.spec.ts:94:1 › keep same color when mouse mode switched back to brush ────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: locator.click: Timeout 5000ms exceeded. Call log: - waiting for locator('edgeless-brush-menu').locator('edgeless-color-panel').locator('.color-unit[aria-label="HeavyBlue"]') at utils/actions/edgeless.ts:654 652 | .locator('edgeless-color-panel') 653 | .locator(`.color-unit[aria-label="${color}"]`); > 654 | await colorButton.click(); | ^ 655 | } 656 | 657 | export async function selectBrushSize(page: Page, size: string) { at selectBrushColor (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:654:21) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/brush.spec.ts:103:9
edgeless/brush.spec.ts:94:1 › keep same color when mouse mode switched back to brush: tests/utils/actions/edgeless.ts#L654
2) edgeless/brush.spec.ts:94:1 › keep same color when mouse mode switched back to brush ────────── Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: locator.click: Timeout 5000ms exceeded. Call log: - waiting for locator('edgeless-brush-menu').locator('edgeless-color-panel').locator('.color-unit[aria-label="HeavyBlue"]') at utils/actions/edgeless.ts:654 652 | .locator('edgeless-color-panel') 653 | .locator(`.color-unit[aria-label="${color}"]`); > 654 | await colorButton.click(); | ^ 655 | } 656 | 657 | export async function selectBrushSize(page: Page, size: string) { at selectBrushColor (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:654:21) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/brush.spec.ts:103:9
edgeless/brush.spec.ts:94:1 › keep same color when mouse mode switched back to brush: tests/utils/actions/edgeless.ts#L654
2) edgeless/brush.spec.ts:94:1 › keep same color when mouse mode switched back to brush ────────── Retry #3 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: locator.click: Timeout 5000ms exceeded. Call log: - waiting for locator('edgeless-brush-menu').locator('edgeless-color-panel').locator('.color-unit[aria-label="HeavyBlue"]') at utils/actions/edgeless.ts:654 652 | .locator('edgeless-color-panel') 653 | .locator(`.color-unit[aria-label="${color}"]`); > 654 | await colorButton.click(); | ^ 655 | } 656 | 657 | export async function selectBrushSize(page: Page, size: string) { at selectBrushColor (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:654:21) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/brush.spec.ts:103:9
edgeless/brush.spec.ts:121:1 › add brush element with different size: tests/utils/actions/edgeless.ts#L654
3) edgeless/brush.spec.ts:121:1 › add brush element with different size ────────────────────────── TimeoutError: locator.click: Timeout 5000ms exceeded. Call log: - waiting for locator('edgeless-brush-menu').locator('edgeless-color-panel').locator('.color-unit[aria-label="HeavyBlue"]') at utils/actions/edgeless.ts:654 652 | .locator('edgeless-color-panel') 653 | .locator(`.color-unit[aria-label="${color}"]`); > 654 | await colorButton.click(); | ^ 655 | } 656 | 657 | export async function selectBrushSize(page: Page, size: string) { at selectBrushColor (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:654:21) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/brush.spec.ts:128:9
edgeless/brush.spec.ts:121:1 › add brush element with different size: tests/utils/actions/edgeless.ts#L654
3) edgeless/brush.spec.ts:121:1 › add brush element with different size ────────────────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: locator.click: Timeout 5000ms exceeded. Call log: - waiting for locator('edgeless-brush-menu').locator('edgeless-color-panel').locator('.color-unit[aria-label="HeavyBlue"]') at utils/actions/edgeless.ts:654 652 | .locator('edgeless-color-panel') 653 | .locator(`.color-unit[aria-label="${color}"]`); > 654 | await colorButton.click(); | ^ 655 | } 656 | 657 | export async function selectBrushSize(page: Page, size: string) { at selectBrushColor (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:654:21) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/brush.spec.ts:128:9
Build & Test
Process completed with exit code 1.
Install Dependencies
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
Build
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
E2E Test (20)
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
E2E Test (20)
Codecov: Failed to properly upload report: The process '/home/runner/work/_actions/codecov/codecov-action/v4/dist/codecov' failed with exit code 1
E2E Test (17)
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
E2E Test (17)
Codecov: Failed to properly upload report: The process '/home/runner/work/_actions/codecov/codecov-action/v4/dist/codecov' failed with exit code 1
Unit Test (3)
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
E2E Test (3)
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
E2E Test (3)
Codecov: Failed to properly upload report: The process '/home/runner/work/_actions/codecov/codecov-action/v4/dist/codecov' failed with exit code 1
E2E Test (16)
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
E2E Test (16)
Codecov: Failed to properly upload report: The process '/home/runner/work/_actions/codecov/codecov-action/v4/dist/codecov' failed with exit code 1
E2E Test (4)
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
E2E Test (4)
Codecov: Failed to properly upload report: The process '/home/runner/work/_actions/codecov/codecov-action/v4/dist/codecov' failed with exit code 1
E2E Test (18)
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
E2E Test (18)
Codecov: Failed to properly upload report: The process '/home/runner/work/_actions/codecov/codecov-action/v4/dist/codecov' failed with exit code 1
E2E Test (15)
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
E2E Test (15)
Codecov: Failed to properly upload report: The process '/home/runner/work/_actions/codecov/codecov-action/v4/dist/codecov' failed with exit code 1
E2E Test (19)
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
E2E Test (19)
Codecov: Failed to properly upload report: The process '/home/runner/work/_actions/codecov/codecov-action/v4/dist/codecov' failed with exit code 1
Unit Test (5)
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
E2E Test (2)
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
E2E Test (10)
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
E2E Test (13)
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
Unit Test (2)
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
E2E Test (1)
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
Unit Test (1)
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
E2E Test (5)
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
E2E Test (11)
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
E2E Test (11)
Codecov: Failed to properly upload report: The process '/home/runner/work/_actions/codecov/codecov-action/v4/dist/codecov' failed with exit code 1
E2E Test (9)
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
E2E Test (9)
Codecov: Failed to properly upload report: The process '/home/runner/work/_actions/codecov/codecov-action/v4/dist/codecov' failed with exit code 1
E2E Test (12)
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
E2E Test (8)
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
E2E Test (7)
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
E2E Test (8)
Codecov: Failed to properly upload report: The process '/home/runner/work/_actions/codecov/codecov-action/v4/dist/codecov' failed with exit code 1
Unit Test (4)
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
Lint
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
E2E Test (14)
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
E2E Test (6)
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
Build & Test
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
🎭 Playwright Run Summary
1 flaky slash-menu.spec.ts:378:3 › slash menu should show and hide correctly › should open and close menu when using left right arrow, Enter, Esc keys 3 skipped 45 passed (44.7s)
🎭 Playwright Run Summary
49 passed (45.5s)
🎭 Playwright Run Summary
4 skipped 45 passed (51.6s)
🎭 Playwright Run Summary
2 skipped 47 passed (51.6s)
🎭 Playwright Run Summary
49 passed (52.7s)
🎭 Playwright Run Summary
49 passed (52.9s)
🎭 Playwright Run Summary
1 skipped 48 passed (47.6s)
🎭 Playwright Run Summary
1 flaky selection/native.spec.ts:266:1 › cursor move to up and down with children block ──────────────── 48 passed (54.5s)
🎭 Playwright Run Summary
2 failed clipboard/list.spec.ts:423:1 › should copy and paste of database work ────────────────────────── clipboard/list.spec.ts:567:1 › paste note block with background ──────────────────────────────── 1 flaky clipboard/list.spec.ts:133:1 › paste a nested list to a nested list ──────────────────────────── 1 skipped 45 passed (1.1m)
🎭 Playwright Run Summary
1 failed edgeless/note/note.spec.ts:299:1 › change note color ─────────────────────────────────────────── 1 flaky edgeless/note/resize.spec.ts:138:1 › resize note then auto size and custom size ──────────────── 2 skipped 45 passed (1.1m)
🎭 Playwright Run Summary
3 failed format-bar.spec.ts:186:1 › should format quick bar be able to format text ────────────────────── format-bar.spec.ts:284:1 › should format quick bar be able to format text when select multiple line format-bar.spec.ts:309:1 › should format quick bar be able to link text ──────────────────────── 1 skipped 45 passed (1.2m)
🎭 Playwright Run Summary
5 failed attachment.spec.ts:127:1 › can insert attachment from slash menu ─────────────────────────────── attachment.spec.ts:186:1 › should undo/redo works for attachment ─────────────────────────────── attachment.spec.ts:362:1 › should turn attachment to image works ─────────────────────────────── attachment.spec.ts:460:1 › should attachment can be deleted ──────────────────────────────────── bookmark.spec.ts:98:1 › copy url to create bookmark in page mode ─────────────────────────────── 1 flaky attachment.spec.ts:730:1 › cancel file picker with input element resolves ────────────────────── 2 skipped 41 passed (1.4m)
🎭 Playwright Run Summary
1 failed edgeless/auto-complete.spec.ts:133:5 › auto-complete › drag on auto-complete button › drag on right auto-complete button to add note 6 skipped 42 passed (1.5m)
🎭 Playwright Run Summary
1 skipped 48 passed (1.5m)
🎭 Playwright Run Summary
10 skipped 39 passed (1.4m)
🎭 Playwright Run Summary
2 failed edgeless/shape.spec.ts:184:1 › change shape stroke color ─────────────────────────────────────── edgeless/shape.spec.ts:542:1 › change shape style ────────────────────────────────────────────── 1 flaky edgeless/shortcut.spec.ts:119:1 › should not switch shapes in editing ────────────────────────── 3 skipped 43 passed (1.5m)
🎭 Playwright Run Summary
49 passed (1.5m)
🎭 Playwright Run Summary
2 failed edgeless/edgeless-text.spec.ts:371:3 › edgeless text block › min width limit for embed block ─── edgeless/edgeless-text.spec.ts:547:1 › press backspace at the start of first line when edgeless text exist 1 skipped 46 passed (1.6m)
🎭 Playwright Run Summary
8 failed hotkey/bracket.spec.ts:48:1 › should bracket complete with backtick works ────────────────────── hotkey/hotkey.spec.ts:79:1 › type character jump out code node ───────────────────────────────── hotkey/hotkey.spec.ts:118:1 › use formatted cursor with hotkey ───────────────────────────────── hotkey/hotkey.spec.ts:165:1 › use formatted cursor with hotkey at empty line ─────────────────── hotkey/hotkey.spec.ts:181:1 › should single line format hotkey work ──────────────────────────── hotkey/hotkey.spec.ts:219:1 › should hotkey work in paragraph ────────────────────────────────── hotkey/hotkey.spec.ts:274:1 › should cut work single line ────────────────────────────────────── hotkey/hotkey.spec.ts:457:1 › Enter key should as expected after setting heading by shortkey ─── 41 passed (1.7m)
🎭 Playwright Run Summary
3 failed edgeless/brush.spec.ts:77:1 › add brush element with color ───────────────────────────────────── edgeless/brush.spec.ts:94:1 › keep same color when mouse mode switched back to brush ─────────── edgeless/brush.spec.ts:121:1 › add brush element with different size ─────────────────────────── 46 passed (1.8m)

Artifacts

Produced during runtime
Name Size
test-results-e2e-1
16.4 MB
test-results-e2e-10
8.06 MB
test-results-e2e-12
16.9 MB
test-results-e2e-13
8.54 MB
test-results-e2e-14
20.4 MB
test-results-e2e-2
9.25 MB
test-results-e2e-5
5.43 MB
test-results-e2e-6
11 MB
test-results-e2e-7
6.47 MB