Add optional color precision for UIImage diffing strategy#580
Closed
maxheld wants to merge 4 commits into
Closed
Conversation
|
Works like a charm! |
Member
|
@maxheld Thanks for this! We've had several versions of this kind of fix open for a bit now, but finally decided to go with #628. Please let us know if that solution does not help, and if there is something about "color precision" that works better for you. In the future, when we begin to design a 2.0, we'll be able to take into consideration the flexible needs of plugging into these diffing algorithms. |
This was referenced Oct 24, 2024
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 PR introduces the extra functionality to define the color precision of each individual pixel when asserting
UIImages. Our experience is that varying iOS version render colors slightly differently which causes a slight shift in certain color tones. This addition lets you fine tune how far off the colors are allowed to be. When assertingUIView/UIViewControllersnapshots with e.g. non-deterministic rendering of shadows this can also come in handy.The
colorPrecisiondefines the leeway each individual RGBA value has before it is considered a mismatching pixel. If any of the values overstep the threshold the respective pixel is considered a mismatch and fails the test.The
precisionparameter is still used to determine the proportion of pixels that are allowed to fail.This has a knock-on effect for
UIViewandUIViewControllerstrategies.