Add failing test for missing snapshot processor node argument #2183
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.
What does this PR do and why?
This adds a failing test for a bug introduced in #2116 . There, we started passing the node down to snapshot post processors to allow them to do fancy stuff, but, this mechanism is broken for deeply nested types that are lazily instantiated. We only instantiate the children of an array type when it is accessed or snapshotted for the first time (as best I can tell), and when this happens, the
node.storedValue
property is null and so the snapshot processor doesn't get the node.The fix (I think) is to ensure that deeply nested nodes with snapshot post processors are eagerly created before we start snapshotting, but I am struggling to get that to work. Any insight would be appreciated!
Relevant past issues and PRs: