[immutable-arraybuffer] Include immutable ArrayBuffers in TypedArray testing#4545
[immutable-arraybuffer] Include immutable ArrayBuffers in TypedArray testing#4545
Conversation
4c418a7 to
9e12279
Compare
23d89d1 to
3b45d8f
Compare
94c4b3d to
335a3d2
Compare
335a3d2 to
1bfe263
Compare
ptomato
left a comment
There was a problem hiding this comment.
The new testTypedArrayConstructors helper could use some more explanation in
doc comments. For example, do I understand correctly that the overall purpose is
to expand the test matrix to not only test each piece of functionality with as
many TypedArray constructors, as possible, but also test with as many different
argument types as possible to each TypedArray constructor?
I don't understand the purpose of passing , null, ["passthrough"] in tests
that don't even use the factory argument. (It seems like some but not all
instances of that are removed in 53a9ecb?)
Particularly in 5855df7 (but also b7e4f20) I think a prose description of
what I'm looking at would be more helpful than the contents of the sed script,
although it's probably good to include the script for reference. I can read the
sed scripts eventually, but given limited time to spend on review that's not the
most effective place for me to spend it on.
It might be helpful to split this PR into two, where one is just a refactor of
the helper and increase of coverage in the existing tests without immutable ABs,
and the second adds the facilities for immutable ABs to the helper.
testWithTypedArrayConstructors to invoke its callback with a constructor and an argument factory1bfe263 to
56e8cd3
Compare
…e contents
With `sedi` being a portable `sed -i`, e.g. `sed -i '' "$@"` on BSD and
`sed -i "$@"` on Linux:
```sh
git grep -l 'testWith[A-Za-z]*TypedArrayConstructors[(]' \
test/built-ins/TypedArray/prototype/{copyWithin,fill,reverse,set,sort} | \
xargs sedi -E \
'/testWith[A-Za-z]*TypedArrayConstructors[(]/,$s#^[}][)]#}, null, null, ["immutable"])#'
git grep -l 'testWith[A-Za-z]*TypedArrayConstructors[(]' \
test/built-ins/TypedArray/prototype | \
grep -E 'set-value-during-|predicate-call-changes-value|values-are-not-cached' | \
xargs sedi -E \
'/testWith[A-Za-z]*TypedArrayConstructors[(]/,$s#^[}][)]#}, null, null, ["immutable"])#'
```
56e8cd3 to
a52e22a
Compare
ptomato
left a comment
There was a problem hiding this comment.
OK, I've looked this over again and all the issues seem to have been resolved.
Extends #4921 (diff)
This is foundational for many remaining tests of #4509, particularly coverage of existing %TypedArray%.prototype properties.
Best reviewed commit-by-commit, because much of the work is mechanical text replacement.