You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix removal of reloaded group files when config stores relative paths (#47)
* Initial plan
* fix: support removing reloaded relative-path files from groups
Agent-Logs-Url: https://github.com/winterdrive/vscode-virtual-tabs/sessions/612e9429-d753-4679-81d6-e00a9edfdf8d
Co-authored-by: winterdrive <90021888+winterdrive@users.noreply.github.com>
* fix: enhance file removal functionality and add coverage tests
* fix: update version to 0.6.0 in package.json and package-lock.json
* fix: update changelog for version 0.6.0 and enhance coverage details for group file removal
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: winterdrive <90021888+winterdrive@users.noreply.github.com>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+8-1Lines changed: 8 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
All notable changes to the "VirtualTabs" extension will be documented in this file.
4
4
5
-
## [Unreleased]
5
+
## [0.6.0] - 2026-05-16
6
6
7
7
### Changed
8
8
@@ -11,6 +11,13 @@ All notable changes to the "VirtualTabs" extension will be documented in this fi
11
11
### Fixed
12
12
13
13
- Directory drag-and-drop now skips hidden directories whose names start with `.`, while still including dotfiles such as `.gitignore` and `.editorconfig`.
14
+
- Removing selected files from a group now works when the group stores workspace-relative file paths after config reload.
15
+
16
+
### Tests and CI
17
+
18
+
- Added focused unit coverage for file-entry matching, group file removal, command target grouping, provider-level removal behavior, bookmark cleanup, multi-root scope isolation, and legacy workspace-root fallback.
19
+
- Added VS Code UI coverage for removing reloaded workspace-relative files from single and separate groups.
20
+
- Added `npm run test:coverage` and updated PR validation to run Jest coverage for the issue-critical core helpers before packaging.
Copy file name to clipboardExpand all lines: DEVELOPMENT.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -137,17 +137,23 @@ VirtualTabs uses three automated test layers:
137
137
| Layer | Command | Purpose |
138
138
| :--- | :--- | :--- |
139
139
| TypeScript + Jest unit tests |`npm run test`| Compiles the extension and runs Jest unit tests. |
140
+
| Jest coverage gate |`npm run test:coverage`| Runs Jest with coverage enabled for focused unit-tested core helpers and enforces configured thresholds. |
140
141
| Property tests |`npm run test:properties`| Exercises config scope discovery, path routing, and tree aggregation invariants with generated inputs. |
141
142
| VS Code UI/E2E tests |`npm run test:ui`| Launches a real VS Code instance with `vscode-extension-tester` and verifies Activity Bar, sidebar, and multi-root scope behavior. |
142
143
143
144
### Run the Full Local Test Set
144
145
145
146
```bash
146
147
npm run test
148
+
npm run test:coverage
147
149
npm run test:properties
148
150
npm run test:ui
149
151
```
150
152
153
+
### Coverage Gate
154
+
155
+
`npm run test:coverage` uses Jest coverage and is part of the PR validation workflow. Coverage is intentionally scoped in `jest.config.js`; when adding files to `collectCoverageFrom`, add focused unit tests in the same PR so the gate remains meaningful instead of reflecting unrelated legacy or UI-heavy code.
156
+
151
157
### UI/E2E Test Setup
152
158
153
159
The UI test script compiles the UI test files and then runs them through `extest`:
0 commit comments