fix: hsl and rgb with alpha channel parsed incorrectly #5
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.
Description
The original reason of this change is an error with message:
Uninitialized string offset 3
.The syntax that was causing the error was:
that is being used in many clients css.
The problem was that we were not correctly indexing the content of the function, so that
calc
was unreachable and was causing the error.Hovewer fixing the issue has showed in result, that we were not unable to correctly parse the
hsl
orrgb
functions with alpha channel (after/
). They were translated to the same functions but with 4 arguments which is incorrect.With that PR we can fix that problem by discovering when we have
hsl
orrgb
with alpha channel and convert it tohsla
orrgba
functions, which can take 4 arguments (with alpha channel).Usage of
/
is explained here:Testing
Unit tests are extended to cover the change, checking the
hsl
andrgb
with an alpha channel.