microsoft / microsoft/WinAppVSCE

Test coverage gaps: diagnostics lifecycle, save-flush, image-path, nested properties

Open
#131 0 comments 0 reactions 1 assignee View on GitHub

@chiaramooney is already working on this.

Since Aug 4, 2026.

enhancement
Dominant language
TypeScript
Stars
13
Forks
3
Avg merge
6d 1h
Merged PRs (30d)
11

Description

Summary

Several editor features lack automated test coverage, including the diagnostics lifecycle, save-flush debounce, and image-path resolution flows.

Details

Diagnostics lifecycle (diagnostics-provider.ts:26-115)

The event-driven diagnostics lifecycle (onDidOpenTextDocument, debounced onDidChangeTextDocument, configuration refresh, close cleanup) is untested beyond source-text regex checks. Need tests that edit a manifest and verify Problems updates, toggle settings, and confirm close clears diagnostics.

Save-flush path (manifest-editor-provider.ts:182-241)

The Ctrl+S flush path for debounced webview edits (flushChanges/changesFlushed nonce-based handling with 500ms timeout) has no coverage. Need E2E test that types and immediately saves without waiting out debounce.

Image-path resolution (manifest-editor-provider.ts:248-342)

checkImagePath and copyToAssets flows are untested despite multiple branches: in-package hits, workspace fallback, absolute/external files, notFound, and duplicate-name collision renaming.

Nested Properties round-trip (manifest-parser.ts:249-291)

PackageIntegrity, AutoUpdate, and UpdateWhileInUse fields lack round-trip parse/save test coverage.

Recommendation

Add targeted extension-host and E2E tests for each of these flows.

Surfaced by PR review skill (test-coverage dimension)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.