[node] Harden TestContext's assert
against missing methods, add missing v22 method
#71902
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.
Previously, the test module had no CI checks for whether or not the correct functions from the assert module were re-exported as methods in TestContext's
assert
. Changes that add top-level functions in the assert module are easily missed from the test module – for example when #71663 addedpartialDeepStrictEqual()
, which didn't make it into TestContext.This edit simplifies the re-export behaviour, and adds tests that will flag if top-level assertion functions get added from the assert module and aren't mirrored in the test module, using similar checks to those used upstream. CI results are available for both commits for demonstration purposes, both before and after adding the function that was missing in the v22 branch.
The docblocks for the
assert
properties in test.d.ts weren't exposed by tsserver when annotating method calls anyway, so removing these isn't really an issue.