Fix update block attributes shallow clone comparison #1995
Merged
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.
This pull request seeks to resolve an issue where block attributes were not correctly considering strict equality of current vs. previous attribute sets. This resulted in the reducer mutating state directly, which did not have an immediately noticeable effect, except uncovered in an in-progress pull request which relied on immutability of state.
Tests have been revised to apply
deepFreeze
to original state, which reveals the original error. Further, a new test case has been added to ensure that the shallow clone is performed correctly when accumulating (merging) attributes.Testing instructions:
Ensure that unit tests pass:
Verify with Redux DevTools Extension that when changing then blurring a Classic Text block, the Diff tab includes the updated
content
attribute for theUPDATE_BLOCK_ATTRIBUTES
action.