BUGFIX: Also allow to fix validator classnames

This commit is contained in:
Daniel Siepmann 2017-05-16 10:36:27 +02:00
parent f2910b02b2
commit 2d3165e8f4
Signed by: Daniel Siepmann
GPG key ID: 33D6629915560EF4
5 changed files with 31 additions and 19 deletions

View file

@ -38,7 +38,7 @@ class Typo3Update_Sniffs_Classname_PhpDocCommentSniff implements PhpCsSniff
* The configured tags will be processed. * The configured tags will be processed.
* @var array<string> * @var array<string>
*/ */
public $allowedTags = ['@param', '@return', '@var']; public $allowedTags = ['@param', '@return', '@var', '@validate'];
/** /**
* Returns the token types that this sniff is interested in. * Returns the token types that this sniff is interested in.
@ -69,7 +69,7 @@ class Typo3Update_Sniffs_Classname_PhpDocCommentSniff implements PhpCsSniff
if ($classnamePosition === false) { if ($classnamePosition === false) {
return; return;
} }
$classnames = array_filter(preg_split('/\||\s|\<|\>/', $tokens[$classnamePosition]['content'])); $classnames = array_filter(preg_split('/\||\s|\<|\>|\(/', $tokens[$classnamePosition]['content']));
foreach ($classnames as $classname) { foreach ($classnames as $classname) {
$this->processFeatures($phpcsFile, $classnamePosition, $classname); $this->processFeatures($phpcsFile, $classnamePosition, $classname);

View file

@ -9,7 +9,7 @@
</rule> </rule>
<rule ref="Typo3Update.Classname.PhpDocComment"> <rule ref="Typo3Update.Classname.PhpDocComment">
<properties> <properties>
<property name="allowedTags" type="array" value="@param,@return,@var,@see,@throws"/> <property name="allowedTags" type="array" value="@param,@return,@var,@validate,@see,@throws"/>
</properties> </properties>
</rule> </rule>
</ruleset> </ruleset>

View file

@ -1,6 +1,6 @@
--- tests/Fixtures/Standards/Typo3Update/Sniffs/Classname/PhpDocCommentSniff/InputFileForIssues.php --- tests/Fixtures/Standards/Typo3Update/Sniffs/Classname/PhpDocCommentSniff/InputFileForIssues.php
+++ PHP_CodeSniffer +++ PHP_CodeSniffer
@@ -22,25 +22,25 @@ @@ -22,26 +22,26 @@
class InputFileForIssues class InputFileForIssues
{ {
/** /**
@ -12,7 +12,9 @@
/** /**
- * @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<Tx_Extbase_Domain_Model_Category> - * @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<Tx_Extbase_Domain_Model_Category>
- * @validate Tx_Extbase_Validation_Validator_NumberValidator(property="value")
+ * @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\TYPO3\CMS\Extbase\Domain\Model\Category> + * @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\TYPO3\CMS\Extbase\Domain\Model\Category>
+ * @validate \TYPO3\CMS\Extbase\Validation\Validator\NumberValidator(property="value")
*/ */
protected $someRelation; protected $someRelation;

View file

@ -1,7 +1,7 @@
{ {
"files": { "files": {
"InputFileForIssues.php": { "InputFileForIssues.php": {
"errors": 6, "errors": 7,
"messages": [ "messages": [
{ {
"column": 13, "column": 13,
@ -21,10 +21,19 @@
"source": "Typo3Update.Classname.PhpDocComment.legacyClassname", "source": "Typo3Update.Classname.PhpDocComment.legacyClassname",
"type": "ERROR" "type": "ERROR"
}, },
{
"column": 18,
"fixable": true,
"line": 32,
"message": "Legacy classes are not allowed; found \"Tx_Extbase_Validation_Validator_NumberValidator\", use \"TYPO3\\CMS\\Extbase\\Validation\\Validator\\NumberValidator\" instead",
"severity": 5,
"source": "Typo3Update.Classname.PhpDocComment.legacyClassname",
"type": "ERROR"
},
{ {
"column": 15, "column": 15,
"fixable": true, "fixable": true,
"line": 36, "line": 37,
"message": "Legacy classes are not allowed; found \"t3lib_div\", use \"TYPO3\\CMS\\Core\\Utility\\GeneralUtility\" instead", "message": "Legacy classes are not allowed; found \"t3lib_div\", use \"TYPO3\\CMS\\Core\\Utility\\GeneralUtility\" instead",
"severity": 5, "severity": 5,
"source": "Typo3Update.Classname.PhpDocComment.legacyClassname", "source": "Typo3Update.Classname.PhpDocComment.legacyClassname",
@ -33,7 +42,7 @@
{ {
"column": 15, "column": 15,
"fixable": false, "fixable": false,
"line": 37, "line": 38,
"message": "Calls to removed code are not allowed; found \\TYPO3\\CMS\\Backend\\Template\\MediumDocumentTemplate. Removed in 7.0. Use \\TYPO3\\CMS\\Backend\\Template\\DocumentTemplate instead. See: https://docs.typo3.org/typo3cms/extensions/core/7.6/Changelog/7.0/Breaking-61782-DeprecatedDocumentTemplateClassesRemoved.html", "message": "Calls to removed code are not allowed; found \\TYPO3\\CMS\\Backend\\Template\\MediumDocumentTemplate. Removed in 7.0. Use \\TYPO3\\CMS\\Backend\\Template\\DocumentTemplate instead. See: https://docs.typo3.org/typo3cms/extensions/core/7.6/Changelog/7.0/Breaking-61782-DeprecatedDocumentTemplateClassesRemoved.html",
"severity": 5, "severity": 5,
"source": "Typo3Update.Classname.PhpDocComment.RemovedClass.TYPO3_CMS_Backend_Template_MediumDocumentTemplate", "source": "Typo3Update.Classname.PhpDocComment.RemovedClass.TYPO3_CMS_Backend_Template_MediumDocumentTemplate",
@ -42,21 +51,12 @@
{ {
"column": 16, "column": 16,
"fixable": true, "fixable": true,
"line": 39, "line": 40,
"message": "Legacy classes are not allowed; found \"Tx_Extbase_Configuration_Configurationmanager\", use \"TYPO3\\CMS\\Extbase\\Configuration\\ConfigurationManager\" instead", "message": "Legacy classes are not allowed; found \"Tx_Extbase_Configuration_Configurationmanager\", use \"TYPO3\\CMS\\Extbase\\Configuration\\ConfigurationManager\" instead",
"severity": 5, "severity": 5,
"source": "Typo3Update.Classname.PhpDocComment.legacyClassname", "source": "Typo3Update.Classname.PhpDocComment.legacyClassname",
"type": "ERROR" "type": "ERROR"
}, },
{
"column": 18,
"fixable": true,
"line": 43,
"message": "Legacy classes are not allowed; found \"t3lib_div\", use \"TYPO3\\CMS\\Core\\Utility\\GeneralUtility\" instead",
"severity": 5,
"source": "Typo3Update.Classname.PhpDocComment.legacyClassname",
"type": "ERROR"
},
{ {
"column": 18, "column": 18,
"fixable": true, "fixable": true,
@ -65,14 +65,23 @@
"severity": 5, "severity": 5,
"source": "Typo3Update.Classname.PhpDocComment.legacyClassname", "source": "Typo3Update.Classname.PhpDocComment.legacyClassname",
"type": "ERROR" "type": "ERROR"
},
{
"column": 18,
"fixable": true,
"line": 45,
"message": "Legacy classes are not allowed; found \"t3lib_div\", use \"TYPO3\\CMS\\Core\\Utility\\GeneralUtility\" instead",
"severity": 5,
"source": "Typo3Update.Classname.PhpDocComment.legacyClassname",
"type": "ERROR"
} }
], ],
"warnings": 1 "warnings": 1
} }
}, },
"totals": { "totals": {
"errors": 6, "errors": 7,
"fixable": 6, "fixable": 7,
"warnings": 1 "warnings": 1
} }
} }

View file

@ -29,6 +29,7 @@ class InputFileForIssues
/** /**
* @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<Tx_Extbase_Domain_Model_Category> * @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<Tx_Extbase_Domain_Model_Category>
* @validate Tx_Extbase_Validation_Validator_NumberValidator(property="value")
*/ */
protected $someRelation; protected $someRelation;