Summary
Let's speed up and modernize the tests!
Execute the approved test modernization plan for johnpapa/vscode-peacock using a phased approach:
- Total tests: 257
- 200 extension/live-share tests
- 57 docs e2e Playwright tests
- Current skipped tests: 1 (
src/test/suite/status-bar.test.ts uses suite.skip)
- Target split for extension/live-share tests:
- 130 unit-fast tests (Vitest lane)
- 70 host contract tests (VS Code host lane)
- 57 docs e2e tests unchanged
- Refactor scope: 14 suite files / 140 tests require extraction-and-split
Approved per-file migration table
| # |
File |
Tests |
Planned lane split |
Refactor level |
| 1 |
src/test/suite/affected-elements.test.ts |
40 |
Split Unit 36 / Host 4 |
High refactor |
| 2 |
src/test/suite/activity-bar-top.test.ts |
9 |
Split Unit 7 / Host 2 |
Medium |
| 3 |
src/test/suite/basic.test.ts |
7 |
Host 7 |
No refactor |
| 4 |
src/test/suite/built-in-colors.test.ts |
8 |
Split Unit 5 / Host 3 |
Medium |
| 5 |
src/test/suite/color-input.test.ts |
26 |
Split Unit 24 / Host 2 |
High |
| 6 |
src/test/suite/config-changes.test.ts |
5 |
Host 5 |
No refactor |
| 7 |
src/test/suite/current-color.test.ts |
4 |
Host 4 |
No refactor |
| 8 |
src/test/suite/cursor-titlebar.test.ts |
2 |
Split Unit 1 / Host 1 |
Low |
| 9 |
src/test/suite/darken-lighten.test.ts |
2 |
Split Unit 1 / Host 1 |
Low |
| 10 |
src/test/suite/documentation.test.ts |
1 |
Host 1 |
No refactor |
| 11 |
src/test/suite/editing-color-settings.test.ts |
24 |
Split Unit 20 / Host 4 |
High |
| 12 |
src/test/suite/element-adjustments.test.ts |
7 |
Split Unit 5 / Host 2 |
Medium |
| 13 |
src/test/suite/excluded-settings.test.ts |
3 |
Split Unit 2 / Host 1 |
Medium |
| 14 |
src/test/suite/favorite-colors.test.ts |
4 |
Split Unit 3 / Host 1 |
Medium |
| 15 |
src/test/suite/foreground.test.ts |
6 |
Unit 6 |
Low |
| 16 |
src/test/suite/notification.test.ts |
2 |
Unit 2 |
No refactor |
| 17 |
src/test/suite/object-library.test.ts |
12 |
Unit 12 |
No refactor |
| 18 |
src/test/suite/remote.test.ts |
13 |
Host 13 |
No refactor |
| 19 |
src/test/suite/reset.test.ts |
4 |
Host 4 |
No refactor |
| 20 |
src/test/suite/save-favorite-color.test.ts |
3 |
Split Unit 2 / Host 1 |
Medium |
| 21 |
src/test/suite/save-starter-favorite-colors.test.ts |
3 |
Split Unit 2 / Host 1 |
Medium |
| 22 |
src/test/suite/set-sidebar-darkness-level.test.ts |
3 |
Split Unit 2 / Host 1 |
Medium |
| 23 |
src/test/suite/status-bar.test.ts |
1 |
Host 1 skipped |
Optional rehab/removal decision |
| 24 |
src/test/suite/surprise-me-on-startup.test.ts |
3 |
Host 3 |
No refactor |
| 25 |
src/live-share/test/suite/live-share.test.ts |
8 |
Host 8 |
No refactor |
| 26 |
e2e/homepage.spec.ts |
7 |
E2E unchanged |
— |
| 27 |
e2e/images.spec.ts |
4 |
E2E unchanged |
— |
| 28 |
e2e/links.spec.ts |
5 |
E2E unchanged |
— |
| 29 |
e2e/navigation.spec.ts |
8 |
E2E unchanged |
— |
| 30 |
e2e/pages.spec.ts |
9 |
E2E unchanged |
— |
| 31 |
e2e/screenshots.spec.ts |
9 |
E2E unchanged |
— |
| 32 |
e2e/search.spec.ts |
5 |
E2E unchanged |
— |
| 33 |
e2e/styling.spec.ts |
10 |
E2E unchanged |
— |
First implementation slice
- Add Vitest setup and scripts (
test:unit, test:host) while preserving current host runner.
- Move pure suites first (
object-library, notification) to the unit lane.
- Begin split pattern with low-risk files (
foreground and one split suite such as cursor-titlebar) to prove extraction + host/unit separation.
- Keep changes focused and reviewable with docs/changelog updates and CI-ready checks.
Summary
Let's speed up and modernize the tests!
Execute the approved test modernization plan for
johnpapa/vscode-peacockusing a phased approach:src/test/suite/status-bar.test.tsusessuite.skip)Approved per-file migration table
src/test/suite/affected-elements.test.tssrc/test/suite/activity-bar-top.test.tssrc/test/suite/basic.test.tssrc/test/suite/built-in-colors.test.tssrc/test/suite/color-input.test.tssrc/test/suite/config-changes.test.tssrc/test/suite/current-color.test.tssrc/test/suite/cursor-titlebar.test.tssrc/test/suite/darken-lighten.test.tssrc/test/suite/documentation.test.tssrc/test/suite/editing-color-settings.test.tssrc/test/suite/element-adjustments.test.tssrc/test/suite/excluded-settings.test.tssrc/test/suite/favorite-colors.test.tssrc/test/suite/foreground.test.tssrc/test/suite/notification.test.tssrc/test/suite/object-library.test.tssrc/test/suite/remote.test.tssrc/test/suite/reset.test.tssrc/test/suite/save-favorite-color.test.tssrc/test/suite/save-starter-favorite-colors.test.tssrc/test/suite/set-sidebar-darkness-level.test.tssrc/test/suite/status-bar.test.tssrc/test/suite/surprise-me-on-startup.test.tssrc/live-share/test/suite/live-share.test.tse2e/homepage.spec.tse2e/images.spec.tse2e/links.spec.tse2e/navigation.spec.tse2e/pages.spec.tse2e/screenshots.spec.tse2e/search.spec.tse2e/styling.spec.tsFirst implementation slice
test:unit,test:host) while preserving current host runner.object-library,notification) to the unit lane.foregroundand one split suite such ascursor-titlebar) to prove extraction + host/unit separation.