PropertyTypeHandlingTest: split data provider#899
Merged
Conversation
The `PropertyTypeHandlingTest` class tests the setting of property values from the ruleset as well as via inline `// phpcs:set ...` annotations. As both ways of setting the property value should be supported in the same manner, the tests used one data provider for both tests and the fixtures (`PropertyTypeHandlingTest.xml` ruleset and the `Fixtures/PropertyTypeHandlingInline.inc` file containing the inline annotations) mirrored the exact same test cases. There is one feature, however, which is only supported when setting properties via the ruleset, not when setting them via inline annotations: array property extending. Until now, the tests for that were also mirrored in the inline annotation tests, even though the feature isn't supported for inline annotations. This commit now splits the data provider in two: * One data provider for the tests which apply for both (= most tests). * One specifically for extending array properties. That second data provider will now only be used by the `testTypeHandlingWhenSetViaRuleset()` test method. This should make it more straight-forward to add additional tests for property extending in the future. --- In case anyone is wondering: As `phpcs:set` is only supposed to be used in tests, I don't think adding support for the `extend` option to inline properties is necessary.
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.
Description
The
PropertyTypeHandlingTestclass tests the setting of property values from the ruleset as well as via inline// phpcs:set ...annotations.As both ways of setting the property value should be supported in the same manner, the tests used one data provider for both tests and the fixtures (
PropertyTypeHandlingTest.xmlruleset and theFixtures/PropertyTypeHandlingInline.incfile containing the inline annotations) mirrored the exact same test cases.There is one feature, however, which is only supported when setting properties via the ruleset, not when setting them via inline annotations: array property extending.
Until now, the tests for that were also mirrored in the inline annotation tests, even though the feature isn't supported for inline annotations.
This commit now splits the data provider in two:
That second data provider will now only be used by the
testTypeHandlingWhenSetViaRuleset()test method.This should make it more straight-forward to add additional tests for property extending in the future.
In case anyone is wondering: As
phpcs:setis only supposed to be used in tests, I don't think adding support for theextendoption to inline properties is necessary.Suggested changelog entry
N/A