refactor: support multiple-editors #15034
test.yaml
on: pull_request
Node.js Environment Compatibility
53s
Unit test
1m 15s
Integration test
26s
Inline Editor E2E test
43s
Matrix: Playground E2E test
Annotations
53 errors, 3 warnings, and 11 notices
clipboard.spec.ts:1189:1 › paste from FeiShu list format:
tests/utils/asserts.ts#L176
1) clipboard.spec.ts:1189:1 › paste from FeiShu list format ──────────────────────────────────────
Error: expect(received).toBe(expected) // Object.is equality
Expected: "aaaa"
Received: ""
at utils/asserts.ts:176
174 | export async function assertText(page: Page, text: string, i = 0) {
175 | const actual = await getStringFromRichText(page, i);
> 176 | expect(actual).toBe(text);
| ^
177 | }
178 |
179 | export async function assertTextContain(page: Page, text: string, i = 0) {
at assertText (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:176:18)
at /home/runner/work/blocksuite/blocksuite/tests/clipboard.spec.ts:1216:3
|
clipboard.spec.ts:1189:1 › paste from FeiShu list format:
tests/utils/asserts.ts#L176
1) clipboard.spec.ts:1189:1 › paste from FeiShu list format ──────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(received).toBe(expected) // Object.is equality
Expected: "aaaa"
Received: ""
at utils/asserts.ts:176
174 | export async function assertText(page: Page, text: string, i = 0) {
175 | const actual = await getStringFromRichText(page, i);
> 176 | expect(actual).toBe(text);
| ^
177 | }
178 |
179 | export async function assertTextContain(page: Page, text: string, i = 0) {
at assertText (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:176:18)
at /home/runner/work/blocksuite/blocksuite/tests/clipboard.spec.ts:1216:3
|
clipboard.spec.ts:1189:1 › paste from FeiShu list format:
tests/utils/asserts.ts#L176
1) clipboard.spec.ts:1189:1 › paste from FeiShu list format ──────────────────────────────────────
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(received).toBe(expected) // Object.is equality
Expected: "aaaa"
Received: ""
at utils/asserts.ts:176
174 | export async function assertText(page: Page, text: string, i = 0) {
175 | const actual = await getStringFromRichText(page, i);
> 176 | expect(actual).toBe(text);
| ^
177 | }
178 |
179 | export async function assertTextContain(page: Page, text: string, i = 0) {
at assertText (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:176:18)
at /home/runner/work/blocksuite/blocksuite/tests/clipboard.spec.ts:1216:3
|
clipboard.spec.ts:1189:1 › paste from FeiShu list format:
tests/utils/asserts.ts#L176
1) clipboard.spec.ts:1189:1 › paste from FeiShu list format ──────────────────────────────────────
Retry #3 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(received).toBe(expected) // Object.is equality
Expected: "aaaa"
Received: ""
at utils/asserts.ts:176
174 | export async function assertText(page: Page, text: string, i = 0) {
175 | const actual = await getStringFromRichText(page, i);
> 176 | expect(actual).toBe(text);
| ^
177 | }
178 |
179 | export async function assertTextContain(page: Page, text: string, i = 0) {
at assertText (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:176:18)
at /home/runner/work/blocksuite/blocksuite/tests/clipboard.spec.ts:1216:3
|
clipboard.spec.ts:1220:1 › paste in list format:
tests/utils/asserts.ts#L196
2) clipboard.spec.ts:1220:1 › paste in list format ───────────────────────────────────────────────
Error: expect(received).toEqual(expected) // deep equality
- Expected - 2
+ Received + 1
Array [
- "test111",
- "222",
+ "test",
]
at utils/asserts.ts:196
194 | });
195 | }, currentEditorIndex);
> 196 | expect(actualTexts).toEqual(texts);
| ^
197 | }
198 |
199 | export async function assertEdgelessCanvasText(page: Page, text: string) {
at assertRichTexts (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:196:23)
at /home/runner/work/blocksuite/blocksuite/tests/clipboard.spec.ts:1249:3
|
clipboard.spec.ts:1220:1 › paste in list format:
tests/utils/asserts.ts#L196
2) clipboard.spec.ts:1220:1 › paste in list format ───────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(received).toEqual(expected) // deep equality
- Expected - 2
+ Received + 1
Array [
- "test111",
- "222",
+ "test",
]
at utils/asserts.ts:196
194 | });
195 | }, currentEditorIndex);
> 196 | expect(actualTexts).toEqual(texts);
| ^
197 | }
198 |
199 | export async function assertEdgelessCanvasText(page: Page, text: string) {
at assertRichTexts (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:196:23)
at /home/runner/work/blocksuite/blocksuite/tests/clipboard.spec.ts:1249:3
|
clipboard.spec.ts:1220:1 › paste in list format:
tests/utils/asserts.ts#L196
2) clipboard.spec.ts:1220:1 › paste in list format ───────────────────────────────────────────────
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(received).toEqual(expected) // deep equality
- Expected - 2
+ Received + 1
Array [
- "test111",
- "222",
+ "test",
]
at utils/asserts.ts:196
194 | });
195 | }, currentEditorIndex);
> 196 | expect(actualTexts).toEqual(texts);
| ^
197 | }
198 |
199 | export async function assertEdgelessCanvasText(page: Page, text: string) {
at assertRichTexts (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:196:23)
at /home/runner/work/blocksuite/blocksuite/tests/clipboard.spec.ts:1249:3
|
clipboard.spec.ts:1220:1 › paste in list format:
tests/utils/asserts.ts#L196
2) clipboard.spec.ts:1220:1 › paste in list format ───────────────────────────────────────────────
Retry #3 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(received).toEqual(expected) // deep equality
- Expected - 2
+ Received + 1
Array [
- "test111",
- "222",
+ "test",
]
at utils/asserts.ts:196
194 | });
195 | }, currentEditorIndex);
> 196 | expect(actualTexts).toEqual(texts);
| ^
197 | }
198 |
199 | export async function assertEdgelessCanvasText(page: Page, text: string) {
at assertRichTexts (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:196:23)
at /home/runner/work/blocksuite/blocksuite/tests/clipboard.spec.ts:1249:3
|
clipboard.spec.ts:1252:1 › auto identify url:
tests/utils/asserts.ts#L621
3) clipboard.spec.ts:1252:1 › auto identify url ──────────────────────────────────────────────────
Error: <affine:page>
<affine:note
prop:background="--affine-background-secondary-color"
prop:edgeless={
Object {
"style": Object {
"borderRadius": 8,
"borderSize": 4,
"borderStyle": "solid",
"shadowType": "--affine-note-shadow-box",
},
}
}
prop:hidden={false}
prop:index="a0"
>
<affine:paragraph
prop:type="text"
/>
</affine:note>
</affine:page>
expect(received).toEqual(expected) // deep equality
- Expected - 11
+ Received + 0
@@ -13,20 +13,9 @@
}
prop:hidden={false}
prop:index="a0"
>
<affine:paragraph
- prop:text={
- <>
- <text
- insert="test "
- />
- <text
- insert="https://www.google.com"
- link="https://www.google.com"
- />
- </>
- }
prop:type="text"
/>
</affine:note>
</affine:page>
at utils/asserts.ts:621
619 | printFunctionName: false,
620 | });
> 621 | expect(formattedJSX, formattedJSX).toEqual(snapshot.trimStart());
| ^
622 | }
623 |
624 | type MimeType = 'text/plain' | 'blocksuite/x-c+w' | 'text/html';
at assertStoreMatchJSX (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:621:38)
at /home/runner/work/blocksuite/blocksuite/tests/clipboard.spec.ts:1275:3
|
clipboard.spec.ts:1252:1 › auto identify url:
tests/utils/asserts.ts#L621
3) clipboard.spec.ts:1252:1 › auto identify url ──────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: <affine:page>
<affine:note
prop:background="--affine-background-secondary-color"
prop:edgeless={
Object {
"style": Object {
"borderRadius": 8,
"borderSize": 4,
"borderStyle": "solid",
"shadowType": "--affine-note-shadow-box",
},
}
}
prop:hidden={false}
prop:index="a0"
>
<affine:paragraph
prop:type="text"
/>
</affine:note>
</affine:page>
expect(received).toEqual(expected) // deep equality
- Expected - 11
+ Received + 0
@@ -13,20 +13,9 @@
}
prop:hidden={false}
prop:index="a0"
>
<affine:paragraph
- prop:text={
- <>
- <text
- insert="test "
- />
- <text
- insert="https://www.google.com"
- link="https://www.google.com"
- />
- </>
- }
prop:type="text"
/>
</affine:note>
</affine:page>
at utils/asserts.ts:621
619 | printFunctionName: false,
620 | });
> 621 | expect(formattedJSX, formattedJSX).toEqual(snapshot.trimStart());
| ^
622 | }
623 |
624 | type MimeType = 'text/plain' | 'blocksuite/x-c+w' | 'text/html';
at assertStoreMatchJSX (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:621:38)
at /home/runner/work/blocksuite/blocksuite/tests/clipboard.spec.ts:1275:3
|
hotkey.spec.ts:131:1 › multi line rich-text inline code hotkey:
tests/hotkey.spec.ts#L1
1) hotkey.spec.ts:131:1 › multi line rich-text inline code hotkey ────────────────────────────────
Test finished within timeout of 30000ms, but tearing down "context" ran out of time.
Please allow more time for the test, since teardown is attributed towards the test timeout budget.
|
hotkey.spec.ts:986:1 › should cut work single line:
tests/utils/asserts.ts#L621
2) hotkey.spec.ts:986:1 › should cut work single line ────────────────────────────────────────────
Error: <affine:note
prop:background="--affine-background-secondary-color"
prop:edgeless={
Object {
"style": Object {
"borderRadius": 8,
"borderSize": 4,
"borderStyle": "solid",
"shadowType": "--affine-note-shadow-box",
},
}
}
prop:hidden={false}
prop:index="a0"
>
<affine:paragraph
prop:text="hello"
prop:type="text"
/>
</affine:note>
expect(received).toEqual(expected) // deep equality
- Expected - 1
+ Received + 1
@@ -12,9 +12,9 @@
}
prop:hidden={false}
prop:index="a0"
>
<affine:paragraph
- prop:text="ho"
+ prop:text="hello"
prop:type="text"
/>
</affine:note>
at utils/asserts.ts:621
619 | printFunctionName: false,
620 | });
> 621 | expect(formattedJSX, formattedJSX).toEqual(snapshot.trimStart());
| ^
622 | }
623 |
624 | type MimeType = 'text/plain' | 'blocksuite/x-c+w' | 'text/html';
at assertStoreMatchJSX (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:621:38)
at /home/runner/work/blocksuite/blocksuite/tests/hotkey.spec.ts:995:3
|
image.spec.ts:100:1 › can click and copy image:
tests/utils/asserts.ts#L217
3) image.spec.ts:100:1 › can click and copy image ────────────────────────────────────────────────
Error: expect(received).toEqual(expected) // deep equality
Expected: 2
Received: 1
at utils/asserts.ts:217
215 | const editor = getEditorLocator(page);
216 | const actual = await editor.locator('.resizable-img').count();
> 217 | expect(actual).toEqual(count);
| ^
218 | }
219 |
220 | export async function assertDivider(page: Page, count: number) {
at assertRichImage (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:217:18)
at /home/runner/work/blocksuite/blocksuite/tests/image.spec.ts:110:3
|
image.spec.ts:100:1 › can click and copy image:
tests/utils/asserts.ts#L217
3) image.spec.ts:100:1 › can click and copy image ────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(received).toEqual(expected) // deep equality
Expected: 2
Received: 1
at utils/asserts.ts:217
215 | const editor = getEditorLocator(page);
216 | const actual = await editor.locator('.resizable-img').count();
> 217 | expect(actual).toEqual(count);
| ^
218 | }
219 |
220 | export async function assertDivider(page: Page, count: number) {
at assertRichImage (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:217:18)
at /home/runner/work/blocksuite/blocksuite/tests/image.spec.ts:110:3
|
paragraph.spec.ts:1585:1 › paragraph indent and delete in line start:
tests/paragraph.spec.ts#L1
1) paragraph.spec.ts:1585:1 › paragraph indent and delete in line start ──────────────────────────
Test finished within timeout of 30000ms, but tearing down "context" ran out of time.
Please allow more time for the test, since teardown is attributed towards the test timeout budget.
|
selection/native.spec.ts:928:1 › Delete the blank line between two dividers:
tests/utils/asserts.ts#L222
1) selection/native.spec.ts:928:1 › Delete the blank line between two dividers ───────────────────
Error: expect(received).toEqual(expected) // deep equality
Expected: 2
Received: 1
at utils/asserts.ts:222
220 | export async function assertDivider(page: Page, count: number) {
221 | const actual = await page.locator('affine-divider').count();
> 222 | expect(actual).toEqual(count);
| ^
223 | }
224 |
225 | export async function assertRichDragButton(page: Page) {
at assertDivider (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:222:18)
at /home/runner/work/blocksuite/blocksuite/tests/selection/native.spec.ts:941:3
|
selection/native.spec.ts:1781:1 › press ArrowUp and ArrowDown in the edge of two line:
tests/utils/asserts.ts#L138
2) selection/native.spec.ts:1781:1 › press ArrowUp and ArrowDown in the edge of two line ─────────
Error: expect(received).toBe(expected) // Object.is equality
Expected: "title"
Received: ""
at utils/asserts.ts:138
136 | const inlineEditor = editor.locator('.doc-title-container').first();
137 | const vText = inlineEditorInnerTextToString(await inlineEditor.innerText());
> 138 | expect(vText).toBe(text);
| ^
139 | }
140 |
141 | export async function assertInlineEditorDeltas(
at assertTitle (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:138:17)
at /home/runner/work/blocksuite/blocksuite/tests/selection/native.spec.ts:1857:3
|
list.spec.ts:54:1 › add new toggle list:
tests/list.spec.ts#L1
1) list.spec.ts:54:1 › add new toggle list ───────────────────────────────────────────────────────
Test finished within timeout of 30000ms, but tearing down "context" ran out of time.
Please allow more time for the test, since teardown is attributed towards the test timeout budget.
|
list.spec.ts:71:1 › convert to numbered list block:
tests/list.spec.ts#L1
2) list.spec.ts:71:1 › convert to numbered list block ────────────────────────────────────────────
Test finished within timeout of 30000ms, but tearing down "context" ran out of time.
Please allow more time for the test, since teardown is attributed towards the test timeout budget.
|
paragraph.spec.ts:1168:1 › handling keyup when cursor located in first paragraph:
tests/utils/asserts.ts#L250
3) paragraph.spec.ts:1168:1 › handling keyup when cursor located in first paragraph ──────────────
Error: Timed out 5000ms waiting for expect(locator).toBeFocused()
Locator: locator('doc-title .inline-editor').first()
Expected: focused
Received: inactive
Call log:
- expect.toBeFocused with timeout 5000ms
- waiting for locator('doc-title .inline-editor').first()
- locator resolved to <div data-v-root="true" contenteditable="true" class=…>…</div>
- unexpected value "not focused"
- locator resolved to <div data-v-root="true" contenteditable="true" class=…>…</div>
- unexpected value "not focused"
- locator resolved to <div data-v-root="true" contenteditable="true" class=…>…</div>
- unexpected value "not focused"
- locator resolved to <div data-v-root="true" contenteditable="true" class=…>…</div>
- unexpected value "not focused"
- locator resolved to <div data-v-root="true" contenteditable="true" class=…>…</div>
- unexpected value "not focused"
- locator resolved to <div data-v-root="true" contenteditable="true" class=…>…</div>
- unexpected value "not focused"
- locator resolved to <div data-v-root="true" contenteditable="true" class=…>…</div>
- unexpected value "not focused"
- locator resolved to <div data-v-root="true" contenteditable="true" class=…>…</div>
- unexpected value "not focused"
- locator resolved to <div data-v-root="true" contenteditable="true" class=…>…</div>
- unexpected value "not focused"
at utils/asserts.ts:250
248 | export async function assertPageTitleFocus(page: Page) {
249 | const locator = page.locator('doc-title .inline-editor').nth(0);
> 250 | await expect(locator).toBeFocused();
| ^
251 | }
252 |
253 | export async function assertListPrefix(
at assertPageTitleFocus (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:250:25)
at /home/runner/work/blocksuite/blocksuite/tests/paragraph.spec.ts:1182:9
|
database/column.spec.ts:398:3 › select column tag action › should support select tag renaming:
tests/database/column.spec.ts#L1
1) database/column.spec.ts:398:3 › select column tag action › should support select tag renaming ─
Test timeout of 30000ms exceeded.
|
database/column.spec.ts:398:3 › select column tag action › should support select tag renaming:
tests/utils/actions/keyboard.ts#L27
1) database/column.spec.ts:398:3 › select column tag action › should support select tag renaming ─
Error: keyboard.type: Test timeout of 30000ms exceeded.
at utils/actions/keyboard.ts:27
25 |
26 | export async function type(page: Page, content: string, delay = 50) {
> 27 | await page.keyboard.type(content, { delay });
| ^
28 | }
29 |
30 | export async function withPressKey(
at type (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/keyboard.ts:27:23)
at /home/runner/work/blocksuite/blocksuite/tests/database/column.spec.ts:408:11
|
database/column.spec.ts:415:3 › select column tag action › should select tag renaming support shortcut key:
tests/database/column.spec.ts#L1
2) database/column.spec.ts:415:3 › select column tag action › should select tag renaming support shortcut key
Test timeout of 30000ms exceeded.
|
database/column.spec.ts:415:3 › select column tag action › should select tag renaming support shortcut key:
tests/utils/actions/keyboard.ts#L27
2) database/column.spec.ts:415:3 › select column tag action › should select tag renaming support shortcut key
Error: keyboard.type: Test timeout of 30000ms exceeded.
at utils/actions/keyboard.ts:27
25 |
26 | export async function type(page: Page, content: string, delay = 50) {
> 27 | await page.keyboard.type(content, { delay });
| ^
28 | }
29 |
30 | export async function withPressKey(
at type (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/keyboard.ts:27:23)
at /home/runner/work/blocksuite/blocksuite/tests/database/column.spec.ts:432:11
|
database/column.spec.ts:438:3 › select column tag action › should support select tag deletion:
tests/database/column.spec.ts#L1
3) database/column.spec.ts:438:3 › select column tag action › should support select tag deletion ─
Test finished within timeout of 30000ms, but tearing down "context" ran out of time.
Please allow more time for the test, since teardown is attributed towards the test timeout budget.
|
edgeless/shape.spec.ts:65:3 › add shape › with holding shift key:
tests/edgeless/shape.spec.ts#L1
1) edgeless/shape.spec.ts:65:3 › add shape › with holding shift key ──────────────────────────────
Test timeout of 30000ms exceeded.
|
edgeless/shape.spec.ts:65:3 › add shape › with holding shift key:
tests/utils/asserts.ts#L787
1) edgeless/shape.spec.ts:65:3 › add shape › with holding shift key ──────────────────────────────
Error: locator.boundingBox: Target page, context or browser has been closed
at utils/asserts.ts:787
785 | .locator('edgeless-selected-rect')
786 | .locator('.affine-edgeless-selected-rect');
> 787 | const box = await selectedRect.boundingBox();
| ^
788 | if (!box) throw new Error('Missing edgeless selected rect');
789 |
790 | expect(box.x).toBeCloseTo(x, 0);
at assertEdgelessSelectedRect (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:787:34)
at /home/runner/work/blocksuite/blocksuite/tests/edgeless/shape.spec.ts:88:11
|
edgeless/shape.spec.ts:92:1 › delete shape by component-toolbar:
tests/edgeless/shape.spec.ts#L1
2) edgeless/shape.spec.ts:92:1 › delete shape by component-toolbar ───────────────────────────────
Test finished within timeout of 30000ms, but tearing down "context" ran out of time.
Please allow more time for the test, since teardown is attributed towards the test timeout budget.
|
clipboard.spec.ts:219:1 › markdown format parse:
tests/utils/asserts.ts#L511
1) clipboard.spec.ts:219:1 › markdown format parse ───────────────────────────────────────────────
Error: expect(received).toEqual(expected) // deep equality
- Expected - 13
+ Received + 1
Array [
- "h1",
- "h2",
- "h3",
- "h4",
- "h5",
- "h6",
- "todo",
- "todo",
- "todo",
- "bulleted",
- "bulleted",
- "numbered",
- "quote",
+ "text",
]
at utils/asserts.ts:511
509 | );
510 | }, currentEditorIndex);
> 511 | expect(actual).toEqual(blockTypes);
| ^
512 | }
513 |
514 | /**
at assertBlockTypes (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:511:18)
at /home/runner/work/blocksuite/blocksuite/tests/clipboard.spec.ts:256:3
|
clipboard.spec.ts:219:1 › markdown format parse:
tests/utils/asserts.ts#L511
1) clipboard.spec.ts:219:1 › markdown format parse ───────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(received).toEqual(expected) // deep equality
- Expected - 13
+ Received + 1
Array [
- "h1",
- "h2",
- "h3",
- "h4",
- "h5",
- "h6",
- "todo",
- "todo",
- "todo",
- "bulleted",
- "bulleted",
- "numbered",
- "quote",
+ "text",
]
at utils/asserts.ts:511
509 | );
510 | }, currentEditorIndex);
> 511 | expect(actual).toEqual(blockTypes);
| ^
512 | }
513 |
514 | /**
at assertBlockTypes (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:511:18)
at /home/runner/work/blocksuite/blocksuite/tests/clipboard.spec.ts:256:3
|
clipboard.spec.ts:219:1 › markdown format parse:
tests/utils/asserts.ts#L511
1) clipboard.spec.ts:219:1 › markdown format parse ───────────────────────────────────────────────
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(received).toEqual(expected) // deep equality
- Expected - 13
+ Received + 1
Array [
- "h1",
- "h2",
- "h3",
- "h4",
- "h5",
- "h6",
- "todo",
- "todo",
- "todo",
- "bulleted",
- "bulleted",
- "numbered",
- "quote",
+ "text",
]
at utils/asserts.ts:511
509 | );
510 | }, currentEditorIndex);
> 511 | expect(actual).toEqual(blockTypes);
| ^
512 | }
513 |
514 | /**
at assertBlockTypes (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:511:18)
at /home/runner/work/blocksuite/blocksuite/tests/clipboard.spec.ts:256:3
|
clipboard.spec.ts:219:1 › markdown format parse:
tests/utils/asserts.ts#L511
1) clipboard.spec.ts:219:1 › markdown format parse ───────────────────────────────────────────────
Retry #3 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(received).toEqual(expected) // deep equality
- Expected - 13
+ Received + 1
Array [
- "h1",
- "h2",
- "h3",
- "h4",
- "h5",
- "h6",
- "todo",
- "todo",
- "todo",
- "bulleted",
- "bulleted",
- "numbered",
- "quote",
+ "text",
]
at utils/asserts.ts:511
509 | );
510 | }, currentEditorIndex);
> 511 | expect(actual).toEqual(blockTypes);
| ^
512 | }
513 |
514 | /**
at assertBlockTypes (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:511:18)
at /home/runner/work/blocksuite/blocksuite/tests/clipboard.spec.ts:256:3
|
clipboard.spec.ts:317:1 › split block when paste:
tests/utils/asserts.ts#L196
2) clipboard.spec.ts:317:1 › split block when paste ──────────────────────────────────────────────
Error: expect(received).toEqual(expected) // deep equality
- Expected - 2
+ Received + 1
Array [
- "atext",
- "h1c",
+ "abc",
]
at utils/asserts.ts:196
194 | });
195 | }, currentEditorIndex);
> 196 | expect(actualTexts).toEqual(texts);
| ^
197 | }
198 |
199 | export async function assertEdgelessCanvasText(page: Page, text: string) {
at assertRichTexts (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:196:23)
at /home/runner/work/blocksuite/blocksuite/tests/clipboard.spec.ts:335:3
|
clipboard.spec.ts:317:1 › split block when paste:
tests/utils/asserts.ts#L196
2) clipboard.spec.ts:317:1 › split block when paste ──────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(received).toEqual(expected) // deep equality
- Expected - 2
+ Received + 1
Array [
- "atext",
- "h1c",
+ "abc",
]
at utils/asserts.ts:196
194 | });
195 | }, currentEditorIndex);
> 196 | expect(actualTexts).toEqual(texts);
| ^
197 | }
198 |
199 | export async function assertEdgelessCanvasText(page: Page, text: string) {
at assertRichTexts (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:196:23)
at /home/runner/work/blocksuite/blocksuite/tests/clipboard.spec.ts:335:3
|
clipboard.spec.ts:317:1 › split block when paste:
tests/utils/asserts.ts#L196
2) clipboard.spec.ts:317:1 › split block when paste ──────────────────────────────────────────────
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(received).toEqual(expected) // deep equality
- Expected - 2
+ Received + 1
Array [
- "atext",
- "h1c",
+ "abc",
]
at utils/asserts.ts:196
194 | });
195 | }, currentEditorIndex);
> 196 | expect(actualTexts).toEqual(texts);
| ^
197 | }
198 |
199 | export async function assertEdgelessCanvasText(page: Page, text: string) {
at assertRichTexts (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:196:23)
at /home/runner/work/blocksuite/blocksuite/tests/clipboard.spec.ts:335:3
|
clipboard.spec.ts:317:1 › split block when paste:
tests/utils/asserts.ts#L196
2) clipboard.spec.ts:317:1 › split block when paste ──────────────────────────────────────────────
Retry #3 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(received).toEqual(expected) // deep equality
- Expected - 2
+ Received + 1
Array [
- "atext",
- "h1c",
+ "abc",
]
at utils/asserts.ts:196
194 | });
195 | }, currentEditorIndex);
> 196 | expect(actualTexts).toEqual(texts);
| ^
197 | }
198 |
199 | export async function assertEdgelessCanvasText(page: Page, text: string) {
at assertRichTexts (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:196:23)
at /home/runner/work/blocksuite/blocksuite/tests/clipboard.spec.ts:335:3
|
clipboard.spec.ts:358:1 › import markdown:
tests/utils/asserts.ts#L196
3) clipboard.spec.ts:358:1 › import markdown ─────────────────────────────────────────────────────
Error: expect(received).toEqual(expected) // deep equality
- Expected - 2
+ Received + 1
Array [
- "text",
- "h1",
+ "",
]
at utils/asserts.ts:196
194 | });
195 | }, currentEditorIndex);
> 196 | expect(actualTexts).toEqual(texts);
| ^
197 | }
198 |
199 | export async function assertEdgelessCanvasText(page: Page, text: string) {
at assertRichTexts (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:196:23)
at /home/runner/work/blocksuite/blocksuite/tests/clipboard.spec.ts:368:3
|
clipboard.spec.ts:358:1 › import markdown:
tests/utils/asserts.ts#L196
3) clipboard.spec.ts:358:1 › import markdown ─────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(received).toEqual(expected) // deep equality
- Expected - 2
+ Received + 1
Array [
- "text",
- "h1",
+ "",
]
at utils/asserts.ts:196
194 | });
195 | }, currentEditorIndex);
> 196 | expect(actualTexts).toEqual(texts);
| ^
197 | }
198 |
199 | export async function assertEdgelessCanvasText(page: Page, text: string) {
at assertRichTexts (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:196:23)
at /home/runner/work/blocksuite/blocksuite/tests/clipboard.spec.ts:368:3
|
edgeless/group.spec.ts:452:5 › group › clipboard › copy and paste group:
tests/utils/asserts.ts#L923
1) edgeless/group.spec.ts:452:5 › group › clipboard › copy and paste group ───────────────────────
Error: expect(received).toEqual(expected) // deep equality
- Expected - 3
+ Received + 0
Array [
"SSOJIUpF7Y",
"SSOJIUpF7Y",
"GROUP_ROOT",
- undefined,
- undefined,
- "GROUP_ROOT",
]
at utils/asserts.ts:923
921 | export async function assertGroupIds(page: Page, expected: string[]) {
922 | const ids = await getGroupIds(page);
> 923 | expect(ids).toEqual(expected);
| ^
924 | }
925 |
926 | export async function assertSortedIds(page: Page, expected: string[]) {
at assertGroupIds (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:923:15)
at /home/runner/work/blocksuite/blocksuite/tests/edgeless/group.spec.ts:465:7
|
edgeless/group.spec.ts:452:5 › group › clipboard › copy and paste group:
tests/utils/asserts.ts#L923
1) edgeless/group.spec.ts:452:5 › group › clipboard › copy and paste group ───────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(received).toEqual(expected) // deep equality
- Expected - 3
+ Received + 0
Array [
"YccEtD8z7y",
"YccEtD8z7y",
"GROUP_ROOT",
- undefined,
- undefined,
- "GROUP_ROOT",
]
at utils/asserts.ts:923
921 | export async function assertGroupIds(page: Page, expected: string[]) {
922 | const ids = await getGroupIds(page);
> 923 | expect(ids).toEqual(expected);
| ^
924 | }
925 |
926 | export async function assertSortedIds(page: Page, expected: string[]) {
at assertGroupIds (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:923:15)
at /home/runner/work/blocksuite/blocksuite/tests/edgeless/group.spec.ts:465:7
|
edgeless/group.spec.ts:452:5 › group › clipboard › copy and paste group:
tests/utils/asserts.ts#L923
1) edgeless/group.spec.ts:452:5 › group › clipboard › copy and paste group ───────────────────────
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(received).toEqual(expected) // deep equality
- Expected - 3
+ Received + 0
Array [
"Iutw3aw-fp",
"Iutw3aw-fp",
"GROUP_ROOT",
- undefined,
- undefined,
- "GROUP_ROOT",
]
at utils/asserts.ts:923
921 | export async function assertGroupIds(page: Page, expected: string[]) {
922 | const ids = await getGroupIds(page);
> 923 | expect(ids).toEqual(expected);
| ^
924 | }
925 |
926 | export async function assertSortedIds(page: Page, expected: string[]) {
at assertGroupIds (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:923:15)
at /home/runner/work/blocksuite/blocksuite/tests/edgeless/group.spec.ts:465:7
|
edgeless/group.spec.ts:452:5 › group › clipboard › copy and paste group:
tests/utils/asserts.ts#L923
1) edgeless/group.spec.ts:452:5 › group › clipboard › copy and paste group ───────────────────────
Retry #3 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(received).toEqual(expected) // deep equality
- Expected - 3
+ Received + 0
Array [
"mqjTDtjIR-",
"mqjTDtjIR-",
"GROUP_ROOT",
- undefined,
- undefined,
- "GROUP_ROOT",
]
at utils/asserts.ts:923
921 | export async function assertGroupIds(page: Page, expected: string[]) {
922 | const ids = await getGroupIds(page);
> 923 | expect(ids).toEqual(expected);
| ^
924 | }
925 |
926 | export async function assertSortedIds(page: Page, expected: string[]) {
at assertGroupIds (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:923:15)
at /home/runner/work/blocksuite/blocksuite/tests/edgeless/group.spec.ts:465:7
|
edgeless/group.spec.ts:270:5 › group › release from group › release group from group:
tests/edgeless/group.spec.ts#L233
2) edgeless/group.spec.ts:270:5 › group › release from group › release group from group ──────────
Test timeout of 30000ms exceeded while running "beforeEach" hook.
231 |
232 | test.describe('release from group', () => {
> 233 | test.beforeEach(async ({ page }) => {
| ^
234 | await init(page);
235 | await createShapeElement(page, [200, 0], [300, 100], Shape.Square);
236 | await selectAllByKeyboard(page);
at /home/runner/work/blocksuite/blocksuite/tests/edgeless/group.spec.ts:233:10
|
edgeless/group.spec.ts:270:5 › group › release from group › release group from group:
tests/utils/actions/drag.ts#L21
2) edgeless/group.spec.ts:270:5 › group › release from group › release group from group ──────────
Error: mouse.move: Test timeout of 30000ms exceeded.
at utils/actions/drag.ts:21
19 | await page.mouse.move(x1, y1);
20 | await page.mouse.down();
> 21 | await page.mouse.move(x2, y2, { steps });
| ^
22 | await options?.beforeMouseUp?.();
23 | await page.mouse.up();
24 | }
at dragBetweenCoords (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/drag.ts:21:20)
at addBasicShapeElement (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:357:3)
at createShapeElement (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:1229:3)
at init (/home/runner/work/blocksuite/blocksuite/tests/edgeless/group.spec.ts:43:5)
at /home/runner/work/blocksuite/blocksuite/tests/edgeless/group.spec.ts:234:7
|
edgeless/group.spec.ts:327:5 › group › delete › delete root group:
tests/edgeless/group.spec.ts#L1
3) edgeless/group.spec.ts:327:5 › group › delete › delete root group ─────────────────────────────
Test timeout of 30000ms exceeded.
|
edgeless/group.spec.ts:327:5 › group › delete › delete root group:
tests/utils/actions/edgeless.ts#L874
3) edgeless/group.spec.ts:327:5 › group › delete › delete root group ─────────────────────────────
Error: locator.click: Test timeout of 30000ms exceeded.
Call log:
- waiting for locator('edgeless-component-toolbar').locator('edgeless-add-group-button')
at utils/actions/edgeless.ts:874
872 | 'edgeless-add-group-button'
873 | );
> 874 | await button.click();
| ^
875 | break;
876 | }
877 | case 'ungroup': {
at triggerComponentToolbarAction (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:874:20)
at /home/runner/work/blocksuite/blocksuite/tests/edgeless/group.spec.ts:329:13
|
edgeless/group.spec.ts:344:5 › group › delete › delete sub-element in group:
tests/edgeless/group.spec.ts#L1
4) edgeless/group.spec.ts:344:5 › group › delete › delete sub-element in group ───────────────────
Test timeout of 30000ms exceeded.
|
edgeless/group.spec.ts:344:5 › group › delete › delete sub-element in group:
tests/utils/actions/edgeless.ts#L874
4) edgeless/group.spec.ts:344:5 › group › delete › delete sub-element in group ───────────────────
Error: locator.click: Test timeout of 30000ms exceeded.
Call log:
- waiting for locator('edgeless-component-toolbar').locator('edgeless-add-group-button')
- locator resolved to <edgeless-add-group-button></edgeless-add-group-button>
- attempting click action
- waiting for element to be visible, enabled and stable
at utils/actions/edgeless.ts:874
872 | 'edgeless-add-group-button'
873 | );
> 874 | await button.click();
| ^
875 | break;
876 | }
877 | case 'ungroup': {
at triggerComponentToolbarAction (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:874:20)
at /home/runner/work/blocksuite/blocksuite/tests/edgeless/group.spec.ts:346:13
|
edgeless/basic.spec.ts:67:1 › can zoom viewport:
tests/edgeless/basic.spec.ts#L1
1) edgeless/basic.spec.ts:67:1 › can zoom viewport ───────────────────────────────────────────────
Test timeout of 30000ms exceeded.
|
edgeless/basic.spec.ts:67:1 › can zoom viewport:
tests/utils/asserts.ts#L787
1) edgeless/basic.spec.ts:67:1 › can zoom viewport ───────────────────────────────────────────────
Error: locator.boundingBox: Test timeout of 30000ms exceeded.
Call log:
- waiting for locator('affine-editor-container').first().locator('edgeless-selected-rect').locator('.affine-edgeless-selected-rect')
at utils/asserts.ts:787
785 | .locator('edgeless-selected-rect')
786 | .locator('.affine-edgeless-selected-rect');
> 787 | const box = await selectedRect.boundingBox();
| ^
788 | if (!box) throw new Error('Missing edgeless selected rect');
789 |
790 | expect(box.x).toBeCloseTo(x, 0);
at assertEdgelessSelectedRect (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:787:34)
at /home/runner/work/blocksuite/blocksuite/tests/edgeless/basic.spec.ts:88:9
|
edgeless/basic.spec.ts:118:1 › option/alt mouse drag duplicate a new element:
tests/edgeless/basic.spec.ts#L1
2) edgeless/basic.spec.ts:118:1 › option/alt mouse drag duplicate a new element ──────────────────
Test timeout of 30000ms exceeded.
|
edgeless/basic.spec.ts:118:1 › option/alt mouse drag duplicate a new element:
tests/utils/actions/click.ts#L38
2) edgeless/basic.spec.ts:118:1 › option/alt mouse drag duplicate a new element ──────────────────
Error: locator.click: Test timeout of 30000ms exceeded.
Call log:
- waiting for locator('debug-menu').locator('sl-tooltip[content="Undo"]')
- locator resolved to <sl-tooltip hoist="" content="Undo" placement="bottom">…</sl-tooltip>
- attempting click action
- waiting for element to be visible, enabled and stable
- element is visible, enabled and stable
- scrolling into view if needed
- element is not visible
- retrying click action, attempt #1
- waiting for element to be visible, enabled and stable
at utils/actions/click.ts:38
36 |
37 | export async function undoByClick(page: Page) {
> 38 | await getDebugMenu(page).undoBtn.click();
| ^
39 | }
40 |
41 | export async function redoByClick(page: Page) {
at undoByClick (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/click.ts:38:36)
at /home/runner/work/blocksuite/blocksuite/tests/edgeless/basic.spec.ts:132:9
|
edgeless/basic.spec.ts:164:1 › the tooltip of more button should be hidden when the action menu is shown:
tests/edgeless/basic.spec.ts#L187
3) edgeless/basic.spec.ts:164:1 › the tooltip of more button should be hidden when the action menu is shown
Error: expect.toBeVisible: Error: strict mode violation: locator('.affine-tooltip') resolved to 2 elements:
1) <div role="tooltip" class="affine-tooltip">…</div> aka getByRole('tooltip', { name: 'Select V' })
2) <div role="tooltip" class="affine-tooltip">…</div> aka getByRole('tooltip', { name: 'More' })
Call log:
- expect.toBeVisible with timeout 5000ms
- waiting for locator('.affine-tooltip')
185 |
186 | await page.mouse.move(moreButtonBox.x + 10, moreButtonBox.y + 10);
> 187 | await expect(tooltip).toBeVisible();
| ^
188 |
189 | await page.mouse.click(moreButtonBox.x + 10, moreButtonBox.y + 10);
190 | await expect(tooltip).toBeHidden();
at /home/runner/work/blocksuite/blocksuite/tests/edgeless/basic.spec.ts:187:25
|
Playground E2E test (2)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/upload-artifact@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
Playground E2E test (1)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/upload-artifact@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
Playground E2E test (5)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/upload-artifact@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
🎭 Playwright Run Summary
12 passed (23.0s)
|
🎭 Playwright Run Summary
3 failed
clipboard.spec.ts:1189:1 › paste from FeiShu list format ───────────────────────────────────────
clipboard.spec.ts:1220:1 › paste in list format ────────────────────────────────────────────────
clipboard.spec.ts:1252:1 › auto identify url ───────────────────────────────────────────────────
2 flaky
clipboard.spec.ts:1016:1 › copy canvas element and text note in edgeless mode ──────────────────
code.spec.ts:596:1 › press backspace inside should select code block ───────────────────────────
7 skipped
52 passed (3.5m)
|
🎭 Playwright Run Summary
3 flaky
hotkey.spec.ts:131:1 › multi line rich-text inline code hotkey ─────────────────────────────────
hotkey.spec.ts:986:1 › should cut work single line ─────────────────────────────────────────────
image.spec.ts:100:1 › can click and copy image ─────────────────────────────────────────────────
5 skipped
56 passed (3.2m)
|
🎭 Playwright Run Summary
1 flaky
paragraph.spec.ts:1585:1 › paragraph indent and delete in line start ───────────────────────────
1 skipped
62 passed (3.2m)
|
🎭 Playwright Run Summary
2 flaky
selection/native.spec.ts:928:1 › Delete the blank line between two dividers ────────────────────
selection/native.spec.ts:1781:1 › press ArrowUp and ArrowDown in the edge of two line ──────────
2 skipped
60 passed (3.2m)
|
🎭 Playwright Run Summary
3 flaky
list.spec.ts:54:1 › add new toggle list ────────────────────────────────────────────────────────
list.spec.ts:71:1 › convert to numbered list block ─────────────────────────────────────────────
paragraph.spec.ts:1168:1 › handling keyup when cursor located in first paragraph ───────────────
61 passed (3.4m)
|
🎭 Playwright Run Summary
3 flaky
database/column.spec.ts:398:3 › select column tag action › should support select tag renaming ──
database/column.spec.ts:415:3 › select column tag action › should select tag renaming support shortcut key
database/column.spec.ts:438:3 › select column tag action › should support select tag deletion ──
61 passed (3.5m)
|
🎭 Playwright Run Summary
2 flaky
edgeless/shape.spec.ts:65:3 › add shape › with holding shift key ───────────────────────────────
edgeless/shape.spec.ts:92:1 › delete shape by component-toolbar ────────────────────────────────
1 skipped
61 passed (3.5m)
|
🎭 Playwright Run Summary
9 failed
clipboard.spec.ts:219:1 › markdown format parse ────────────────────────────────────────────────
clipboard.spec.ts:317:1 › split block when paste ───────────────────────────────────────────────
clipboard.spec.ts:358:1 › import markdown ──────────────────────────────────────────────────────
clipboard.spec.ts:373:1 › copy clipItems format ────────────────────────────────────────────────
clipboard.spec.ts:460:1 › paste a non-nested list to a non-nested list ─────────────────────────
clipboard.spec.ts:496:1 › copy a nested list by clicking button, the clipboard data should be complete
clipboard.spec.ts:533:1 › paste a nested list to a nested list ─────────────────────────────────
clipboard.spec.ts:614:1 › paste nested lists to a nested list ──────────────────────────────────
clipboard.spec.ts:707:1 › paste non-nested lists to a nested list ──────────────────────────────
2 flaky
attachment.spec.ts:261:1 › should rename attachment works ──────────────────────────────────────
attachment.spec.ts:300:1 › should turn attachment to image works ───────────────────────────────
16 skipped
38 passed (4.4m)
|
🎭 Playwright Run Summary
1 failed
edgeless/group.spec.ts:452:5 › group › clipboard › copy and paste group ────────────────────────
3 flaky
edgeless/group.spec.ts:270:5 › group › release from group › release group from group ───────────
edgeless/group.spec.ts:327:5 › group › delete › delete root group ──────────────────────────────
edgeless/group.spec.ts:344:5 › group › delete › delete sub-element in group ────────────────────
60 passed (4.5m)
|
🎭 Playwright Run Summary
3 flaky
edgeless/basic.spec.ts:67:1 › can zoom viewport ────────────────────────────────────────────────
edgeless/basic.spec.ts:118:1 › option/alt mouse drag duplicate a new element ───────────────────
edgeless/basic.spec.ts:164:1 › the tooltip of more button should be hidden when the action menu is shown
3 skipped
58 passed (4.4m)
|
Artifacts
Produced during runtime
Name | Size | |
---|---|---|
test-results-main
Expired
|
102 MB |
|