Fix an exception when validating license with year#222
Merged
nedtwigg merged 3 commits intodiffplug:masterfrom Mar 8, 2018
Merged
Fix an exception when validating license with year#222nedtwigg merged 3 commits intodiffplug:masterfrom
nedtwigg merged 3 commits intodiffplug:masterfrom
Conversation
Refactor `LicenseHeaderStepTest` to allow to create license and class files with custom license contents (defined in the class itself), to make it easier to test new license contents without adding more files. The license and class file templates (`LicenseHeaderWithPlaceholder` and `FileWithLicenseHeaderAndPlaceholder`, respectively) contain a token which is replaced with the custom license contents when running the tests. The year related license is now defined in `LicenseHeaderStepTest` and the tests are changed to use it. Also, two more cases were added when testing the year token, to improve the coverage of the condition that checks if the year is properly defined in the license. Add a method to `ResourceHarness` that allows to create a test file with its contents processed by a function, to support the refactoring.
Fix a `StringIndexOutOfBoundsException` in `LicenseHeaderStep` when validating if the license with a year is properly formatted, by checking if the start index of the second part of the license is greater than the length of the first part. This prevents the second part from overlapping the first, which could result in a negative length when obtaining the substring that contains the year. The exception could happen when the year token is surrounded by the same characters, for example, "Copyright $YEAR DiffPlug", and a license containing "Copyright DiffPlug".
Update main and plugins CHANGES files.
Member
|
Thanks, another good catch! Great commit history too 👍 |
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.
Fix a
StringIndexOutOfBoundsExceptioninLicenseHeaderStepwhen validating if the license with a year is properly formatted, by checking if the start index of the second part of the license is greater than the length of the first part. This prevents the second part from overlapping the first, which could result in a negative length when obtaining the substring that contains the year.The exception could happen when the year token is surrounded by the same characters, for example, "Copyright $YEAR DiffPlug", and a license containing "Copyright DiffPlug".
Split into two commits for easier review of the refactoring.