Squiz.Strings.DoubleQuoteUsage replaces tabs with spaces when fixing #1640
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.
Squiz/DoubleQuoteUsage: Use original string when testing and fixing double quotes
If a string contains tabs, they were previously - unintentionally - replaced by spaces while that is not the responsibility of this sniff.
Includes unit test,
While examining the sniff code to fix the above issue, I also noticed two other optimizations which could benefit this sniff:
Squiz/DoubleQuoteUsage: Skip past subsequent tokens in a multi-line string
As the last token of the multi-line string is known, it can be returned to skip past subsequent tokens in a multi-line string instead of checking each string token.
Squiz/DoubleQuoteUsage: Make check for double quoted string a little more specific and strict
Only check strings which are finished double quotes strings.
This offers additional protection against examining unfinished strings during live code checking.