Repository navigation
test: cover home expansion in path arrays - #1077
Merged
Merged
Conversation
Owner
|
ok this is some additional coverage. thanks. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why this test matters
A refactor could skip home-directory expansion only when
pathis an array, causingconfig()to look for a literal~/.envand miss the intended configuration file. The new assertion catches that branch-specific regression.Supertest audit method
I used the Supertest test-audit skill to probe whether the existing suite would catch a plausible violation of this contract. The regression was applied only in an isolated worktree. The regression proof records three executed states: the existing tests pass with that regression, the new assertion fails against the same regression, and the new test passes with the original production code restored. The published diff adds tests only.
Change and verification
Summary
Add a test for
~expansion whenconfig({ path })receives an array. The existing test covers the string form, while the array form follows a separate branch inconfigDotenv.Regression proof
In an isolated worktree, I replaced
optionPaths.push(_resolveHome(filepath))withoptionPaths.push(filepath). The existingtests/test-config.jsstill passed (79/79). With this test added, the same regression fails becausefs.readFileSyncreceives~/.envinstead of the path underos.homedir(). With production code restored, the full suite passes.Verification
npm test— 1,415 passed, 1 skipped (includes build, StandardJS lint, and TypeScript declaration checks)git diff --check— passedThe permanent change is limited to
tests/test-config.js.Repository guidance
CONTRIBUTING.mdcalls for TAP tests and StandardJS lint;npm testincludes both. No PR template was present in the audited checkout.