diff --git a/src/Standards/Typo3Update/Sniffs/Classname/PhpDocCommentSniff.php b/src/Standards/Typo3Update/Sniffs/Classname/PhpDocCommentSniff.php index d1f7f78..13dd59f 100644 --- a/src/Standards/Typo3Update/Sniffs/Classname/PhpDocCommentSniff.php +++ b/src/Standards/Typo3Update/Sniffs/Classname/PhpDocCommentSniff.php @@ -69,7 +69,7 @@ class Typo3Update_Sniffs_Classname_PhpDocCommentSniff implements PhpCsSniff if ($classnamePosition === false) { return; } - $classnames = explode('|', explode(' ', $tokens[$classnamePosition]['content'])[0]); + $classnames = array_filter(preg_split('/\||\s|\<|\>/', $tokens[$classnamePosition]['content'])); foreach ($classnames as $classname) { $this->processFeatures($phpcsFile, $classnamePosition, $classname); diff --git a/tests/Fixtures/Standards/Typo3Update/Sniffs/Classname/PhpDocCommentSniff/Expected.diff b/tests/Fixtures/Standards/Typo3Update/Sniffs/Classname/PhpDocCommentSniff/Expected.diff index 36a8cf7..866ee24 100644 --- a/tests/Fixtures/Standards/Typo3Update/Sniffs/Classname/PhpDocCommentSniff/Expected.diff +++ b/tests/Fixtures/Standards/Typo3Update/Sniffs/Classname/PhpDocCommentSniff/Expected.diff @@ -1,6 +1,6 @@ --- tests/Fixtures/Standards/Typo3Update/Sniffs/Classname/PhpDocCommentSniff/InputFileForIssues.php +++ PHP_CodeSniffer -@@ -22,20 +22,20 @@ +@@ -22,25 +22,25 @@ class InputFileForIssues { /** @@ -10,6 +10,12 @@ */ protected $someVar; + /** +- * @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage ++ * @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\TYPO3\CMS\Extbase\Domain\Model\Category> + */ + protected $someRelation; + /** - * @param t3lib_div + * @param \TYPO3\CMS\Core\Utility\GeneralUtility @@ -20,8 +26,9 @@ */ public function doSomething($something) { -- /** @var t3lib_div $variable */ // This is supported as this is a phpdoc. -+ /** @var \TYPO3\CMS\Core\Utility\GeneralUtility $variable */ // This is supported as this is a phpdoc. - /** @var $variable t3lib_div */ // This is not supported! Use inline comments instead. +- /** @var t3lib_div $variable */ +- /** @var $variable t3lib_div */ ++ /** @var \TYPO3\CMS\Core\Utility\GeneralUtility $variable */ ++ /** @var $variable \TYPO3\CMS\Core\Utility\GeneralUtility */ } } diff --git a/tests/Fixtures/Standards/Typo3Update/Sniffs/Classname/PhpDocCommentSniff/Expected.json b/tests/Fixtures/Standards/Typo3Update/Sniffs/Classname/PhpDocCommentSniff/Expected.json index 89158c7..e18619b 100644 --- a/tests/Fixtures/Standards/Typo3Update/Sniffs/Classname/PhpDocCommentSniff/Expected.json +++ b/tests/Fixtures/Standards/Typo3Update/Sniffs/Classname/PhpDocCommentSniff/Expected.json @@ -1,7 +1,7 @@ { "files": { "InputFileForIssues.php": { - "errors": 4, + "errors": 6, "messages": [ { "column": 13, @@ -13,9 +13,18 @@ "type": "ERROR" }, { - "column": 15, + "column": 13, "fixable": true, "line": 31, + "message": "Legacy classes are not allowed; found \"Tx_Extbase_Domain_Model_Category\", use \"TYPO3\\CMS\\Extbase\\Domain\\Model\\Category\" instead", + "severity": 5, + "source": "Typo3Update.Classname.PhpDocComment.legacyClassname", + "type": "ERROR" + }, + { + "column": 15, + "fixable": true, + "line": 36, "message": "Legacy classes are not allowed; found \"t3lib_div\", use \"TYPO3\\CMS\\Core\\Utility\\GeneralUtility\" instead", "severity": 5, "source": "Typo3Update.Classname.PhpDocComment.legacyClassname", @@ -24,7 +33,7 @@ { "column": 15, "fixable": false, - "line": 32, + "line": 37, "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, "source": "Typo3Update.Classname.PhpDocComment.RemovedClass.TYPO3_CMS_Backend_Template_MediumDocumentTemplate", @@ -33,7 +42,7 @@ { "column": 16, "fixable": true, - "line": 34, + "line": 39, "message": "Legacy classes are not allowed; found \"Tx_Extbase_Configuration_Configurationmanager\", use \"TYPO3\\CMS\\Extbase\\Configuration\\ConfigurationManager\" instead", "severity": 5, "source": "Typo3Update.Classname.PhpDocComment.legacyClassname", @@ -42,7 +51,16 @@ { "column": 18, "fixable": true, - "line": 38, + "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, + "fixable": true, + "line": 44, "message": "Legacy classes are not allowed; found \"t3lib_div\", use \"TYPO3\\CMS\\Core\\Utility\\GeneralUtility\" instead", "severity": 5, "source": "Typo3Update.Classname.PhpDocComment.legacyClassname", @@ -53,8 +71,8 @@ } }, "totals": { - "errors": 4, - "fixable": 4, + "errors": 6, + "fixable": 6, "warnings": 1 } } diff --git a/tests/Fixtures/Standards/Typo3Update/Sniffs/Classname/PhpDocCommentSniff/InputFileForIssues.php b/tests/Fixtures/Standards/Typo3Update/Sniffs/Classname/PhpDocCommentSniff/InputFileForIssues.php index 7a2de67..cf0f24d 100644 --- a/tests/Fixtures/Standards/Typo3Update/Sniffs/Classname/PhpDocCommentSniff/InputFileForIssues.php +++ b/tests/Fixtures/Standards/Typo3Update/Sniffs/Classname/PhpDocCommentSniff/InputFileForIssues.php @@ -27,6 +27,11 @@ class InputFileForIssues */ protected $someVar; + /** + * @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage + */ + protected $someRelation; + /** * @param t3lib_div * @param \TYPO3\CMS\Backend\Template\MediumDocumentTemplate @@ -35,7 +40,7 @@ class InputFileForIssues */ public function doSomething($something) { - /** @var t3lib_div $variable */ // This is supported as this is a phpdoc. - /** @var $variable t3lib_div */ // This is not supported! Use inline comments instead. + /** @var t3lib_div $variable */ + /** @var $variable t3lib_div */ } }