fix(jest-each, @jest/globals): allow passing ReadonlyArray
type of a table to describe.each
and test.each
#12297
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.
Fixes #12294.
Summary
As it is mentioned in the issue, typings of
describe.each
andtest.each
throw an error if a tuple withconst
assertion is passed as a table, e.g.describe.each([['foo'], ['bar']] as const)
.Unexpected for me, but simply replacing
Array
withReadonlyArray
in typings solves this issue. Theconst
assertion turns an array literal into areadonly
tuple. That’s whyReadonlyArray
works here.Does
ReadonlyArray
fit injest-each
code? It did not compile without changes, now TS is happy. Logic did not change. So perhaps that’s alright?Test plan
Type test are added and extended.