chore: improve ThemeObserver and add tests #6277
test.yml
on: pull_request
Install Dependencies
58s
Build & Test
0s
Annotations
7 errors, 20 warnings, and 20 notices
slash-menu.spec.ts:373:3 › slash menu should show and hide correctly › should open and close menu when using left right arrow:
tests/slash-menu.spec.ts#L396
1) slash-menu.spec.ts:373: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)
- 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"
- 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"
- 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"
- 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"
- 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"
- 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"
- 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"
- 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"
- 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"
394 | await type(page, '/');
395 | await pressArrowDown(page, 4);
> 396 | await expect(slashItems.nth(4)).toHaveAttribute('hover', 'true');
| ^
397 | await expect(slashItems.nth(4).locator('.text')).toHaveText([
398 | 'Other Headings',
399 | ]);
at /home/runner/work/blocksuite/blocksuite/tests/slash-menu.spec.ts:396:37
|
attachment.spec.ts:445:1 › support dragging attachment block directly:
tests/attachment.spec.ts#L69
1) attachment.spec.ts:445:1 › support dragging attachment block directly ─────────────────────────
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:453:3
|
selection/native.spec.ts:289:1 › cursor move to up and down with children block:
tests/selection/native.spec.ts#L318
1) selection/native.spec.ts:289:1 › cursor move to up and down with children block ───────────────
Error: expect(received).toBeGreaterThanOrEqual(expected)
Expected: >= 12
Received: -1
316 | const textTwo = await getInlineSelectionText(page);
317 | expect(textTwo).toBe('arrow down test 1');
> 318 | expect(indexTwo).toBeGreaterThanOrEqual(12);
| ^
319 | expect(indexTwo).toBeLessThanOrEqual(17);
320 | await page.keyboard.press('ArrowDown');
321 | const textThree = await getInlineSelectionText(page);
at /home/runner/work/blocksuite/blocksuite/tests/selection/native.spec.ts:318:20
|
hotkey/multiline.spec.ts:100:1 › should cut work multiple line:
tests/hotkey/multiline.spec.ts#L110
1) hotkey/multiline.spec.ts:100:1 › should cut work multiple line ────────────────────────────────
Error: Snapshot comparison failed:
{
"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,800,95]",
"background": "--affine-note-background-white",
"index": "a0",
"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"
}
]
}
},
"children": []
},
{
"type": "block",
"id": "3",
"flavour": "affine:paragraph",
"version": 1,
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "456"
}
]
}
},
"children": []
},
{
"type": "block",
"id": "4",
"flavour": "affine:paragraph",
"version": 1,
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "789"
}
]
}
},
"children": []
}
]
}
]
}
Expected: /home/runner/work/blocksuite/blocksuite/tests/snapshots/hotkey/multiline.spec.ts/should-cut-work-multiple-line-init.json
Received: /home/runner/work/blocksuite/blocksuite/tests/test-results/hotkey-multiline-should-cut-work-multiple-line/should-cut-work-multiple-line-init-actual.json
108 | // cut
109 | await page.keyboard.press(`${SHORT_KEY}+x`);
> 110 | expect(await getPageSnapshot(page, true)).toMatchSnapshot(
| ^
111 | `${testInfo.title}_init.json`
112 | );
113 | await undoByKeyboard(page);
at /home/runner/work/blocksuite/blocksuite/tests/hotkey/multiline.spec.ts:110:45
|
edgeless/shortcut.spec.ts:119:1 › should not switch shapes in editing:
tests/utils/actions/edgeless.ts#L357
1) edgeless/shortcut.spec.ts:119:1 › should not switch shapes in editing ─────────────────────────
TimeoutError: locator.click: Timeout 5000ms exceeded.
Call log:
- waiting for locator('edgeless-tool-icon-button').filter({ hasText: 'Square' })
- locator resolved to <edgeless-tool-icon-button role="button">…</edgeless-tool-icon-button>
- attempting click action
- waiting for element to be visible, enabled and stable
- element is not stable
- retrying click action, attempt #1
- waiting for element to be visible, enabled and stable
- element is not stable
- retrying click action, attempt #2
- waiting 20ms
- waiting for element to be visible, enabled and stable
- element is not stable
- retrying click action, attempt #3
- waiting 100ms
- waiting for element to be visible, enabled and stable
- element was detached from the DOM, retrying
at utils/actions/edgeless.ts:357
355 | .locator('edgeless-tool-icon-button')
356 | .filter({ hasText: shape });
> 357 | await squareShapeButton.click();
| ^
358 | break;
359 | }
360 | }
at setEdgelessTool (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:357:31)
at /home/runner/work/blocksuite/blocksuite/tests/edgeless/shortcut.spec.ts:137:3
|
edgeless/note/note.spec.ts:246:1 › duplicate note should work correctly:
tests/edgeless/note/note.spec.ts#L272
1) edgeless/note/note.spec.ts:246:1 › duplicate note should work correctly ───────────────────────
Error: expect(received).toBeCloseTo(expected)
Expected: 552.5581665039062
Received: 658.6046829223633
Expected precision: 2
Expected difference: < 0.005
Received difference: 106.04651641845703
270 | const firstNoteBox = await firstNote.boundingBox();
271 | const secondNoteBox = await secondNote.boundingBox();
> 272 | expect(firstNoteBox!.width).toBeCloseTo(secondNoteBox!.width);
| ^
273 | expect(firstNoteBox!.height).toBeCloseTo(secondNoteBox!.height);
274 | });
275 |
at /home/runner/work/blocksuite/blocksuite/tests/edgeless/note/note.spec.ts:272:31
|
edgeless/paste-block.spec.ts:39:3 › pasting blocks › pasting a note block:
tests/edgeless/paste-block.spec.ts#L63
2) edgeless/paste-block.spec.ts:39:3 › pasting blocks › pasting a note block ─────────────────────
Error: Timed out 5000ms waiting for expect(locator).toBeVisible()
Locator: locator('affine-edgeless-note[data-block-id="10"]').locator('[data-block-id]').nth(1).locator('.resizable-img')
Expected: visible
Received: <element(s) not found>
Call log:
- expect.toBeVisible with timeout 5000ms
- waiting for locator('affine-edgeless-note[data-block-id="10"]').locator('[data-block-id]').nth(1).locator('.resizable-img')
61 | const blocks = newNote.locator('[data-block-id]');
62 | await expect(blocks.nth(0)).toContainText('hello');
> 63 | await expect(blocks.nth(1).locator('.resizable-img')).toBeVisible();
| ^
64 | await expect(blocks.nth(2)).toContainText('world');
65 | await expect(blocks.nth(3)).toContainText('code');
66 | });
at /home/runner/work/blocksuite/blocksuite/tests/edgeless/paste-block.spec.ts:63:59
|
E2E Test (2)
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 (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 (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)
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)
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)
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)
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 (1)
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)
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)
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 (14)
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 (5)
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 (13)
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)
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 (10)
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)
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 (6)
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 (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 (8)
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 (7)
Codecov:
Failed to properly upload report: The process '/home/runner/work/_actions/codecov/codecov-action/v4/dist/codecov' failed with exit code 1
|
🎭 Playwright Run Summary
1 skipped
45 passed (42.5s)
|
🎭 Playwright Run Summary
1 flaky
slash-menu.spec.ts:373:3 › slash menu should show and hide correctly › should open and close menu when using left right arrow, Enter, Esc keys
3 skipped
41 passed (42.0s)
|
🎭 Playwright Run Summary
4 skipped
41 passed (44.1s)
|
🎭 Playwright Run Summary
45 passed (48.4s)
|
🎭 Playwright Run Summary
45 passed (49.9s)
|
🎭 Playwright Run Summary
45 passed (52.8s)
|
🎭 Playwright Run Summary
45 passed (52.7s)
|
🎭 Playwright Run Summary
1 flaky
attachment.spec.ts:445:1 › support dragging attachment block directly ──────────────────────────
45 passed (55.9s)
|
🎭 Playwright Run Summary
2 skipped
43 passed (49.8s)
|
🎭 Playwright Run Summary
1 flaky
selection/native.spec.ts:289:1 › cursor move to up and down with children block ────────────────
44 passed (56.5s)
|
🎭 Playwright Run Summary
1 flaky
hotkey/multiline.spec.ts:100:1 › should cut work multiple line ─────────────────────────────────
44 passed (57.8s)
|
🎭 Playwright Run Summary
45 passed (1.1m)
|
🎭 Playwright Run Summary
45 passed (1.1m)
|
🎭 Playwright Run Summary
1 flaky
edgeless/shortcut.spec.ts:119:1 › should not switch shapes in editing ──────────────────────────
2 skipped
42 passed (1.1m)
|
🎭 Playwright Run Summary
2 flaky
edgeless/note/note.spec.ts:246:1 › duplicate note should work correctly ────────────────────────
edgeless/paste-block.spec.ts:39:3 › pasting blocks › pasting a note block ──────────────────────
43 passed (1.3m)
|
🎭 Playwright Run Summary
10 skipped
35 passed (1.1m)
|
🎭 Playwright Run Summary
45 passed (1.4m)
|
🎭 Playwright Run Summary
1 skipped
44 passed (1.4m)
|
🎭 Playwright Run Summary
1 skipped
44 passed (1.6m)
|
🎭 Playwright Run Summary
45 passed (1.6m)
|