From 5f08bf5316cd2d048cac6cc20cbb8327f408f2ea Mon Sep 17 00:00:00 2001 From: Elisea Cornejo Date: Mon, 11 Oct 2021 15:01:46 +0200 Subject: [PATCH 1/2] AC-678: Create phpcs sniff for ObsoleteResponseTest --- .../Sniffs/Legacy/ObsoleteResponseSniff.php | 62 +++++++++++++++++++ .../Tests/Legacy/ObsoleteResponseUnitTest.inc | 39 ++++++++++++ .../Tests/Legacy/ObsoleteResponseUnitTest.php | 40 ++++++++++++ Magento2/ruleset.xml | 4 ++ 4 files changed, 145 insertions(+) create mode 100644 Magento2/Sniffs/Legacy/ObsoleteResponseSniff.php create mode 100644 Magento2/Tests/Legacy/ObsoleteResponseUnitTest.inc create mode 100644 Magento2/Tests/Legacy/ObsoleteResponseUnitTest.php diff --git a/Magento2/Sniffs/Legacy/ObsoleteResponseSniff.php b/Magento2/Sniffs/Legacy/ObsoleteResponseSniff.php new file mode 100644 index 00000000..affb5771 --- /dev/null +++ b/Magento2/Sniffs/Legacy/ObsoleteResponseSniff.php @@ -0,0 +1,62 @@ +getTokens(); + $stringPos = $phpcsFile->findNext(T_STRING, $stackPtr + 1); + + foreach ($this->obsoleteResponseMethods as $method) { + if ($tokens[$stringPos]['content'] === $method) { + $phpcsFile->addWarning( + sprintf('Contains obsolete response method: %s.', $method), + $stackPtr, + self::WARNING_CODE_METHOD + ); + } + } + } +} diff --git a/Magento2/Tests/Legacy/ObsoleteResponseUnitTest.inc b/Magento2/Tests/Legacy/ObsoleteResponseUnitTest.inc new file mode 100644 index 00000000..4e33d0f7 --- /dev/null +++ b/Magento2/Tests/Legacy/ObsoleteResponseUnitTest.inc @@ -0,0 +1,39 @@ +_view->loadLayout(['default', 'test'], true, true, false); +$this->_view->renderLayout(); + +protected function _addBreadcrumb($label, $title = null, $link = null) +{ + $this->getLayout()->getBlock('test')->addLink($label, $title, $link); +} + +$this->editPost = $objectManagerHelper->getObject( + TestClass::class, + [ + '_redirect' => $this->redirect, + ] +); + +$this->_redirect('test/path'); + +$this->_forward('grid'); + +$this->_initAction()->_setActiveMenu( + 'Magento_Invitation::report_magento_invitation_order' +)->_addBreadcrumb( + __('Invitation Report by Customers'), + __('Invitation Report by Order Conversion Rate') +)->_addLeft( +)->_addJs( + $this->_view->getLayout()->createBlock(TestBlock::class)->setTemplate('Test::test.phtml') +); + +private function _addContent(AbstractBlock $block) +{ + return $this->_moveBlockToContainer($block, 'content'); +} diff --git a/Magento2/Tests/Legacy/ObsoleteResponseUnitTest.php b/Magento2/Tests/Legacy/ObsoleteResponseUnitTest.php new file mode 100644 index 00000000..b35d43a1 --- /dev/null +++ b/Magento2/Tests/Legacy/ObsoleteResponseUnitTest.php @@ -0,0 +1,40 @@ + 1, + 8 => 1, + 10 => 1, + 22 => 1, + 24 => 1, + 26 => 1, + 28 => 1, + 31 => 1, + 32 => 1, + 36 => 1, + 38 => 1 + ]; + } +} diff --git a/Magento2/ruleset.xml b/Magento2/ruleset.xml index 1b1c7f1b..f2be02f2 100644 --- a/Magento2/ruleset.xml +++ b/Magento2/ruleset.xml @@ -313,6 +313,10 @@ 8 warning + + 8 + warning + From 9286ff9d0105ceec1074d473db0ffbe0d4ecf674 Mon Sep 17 00:00:00 2001 From: Elisea Cornejo Date: Wed, 13 Oct 2021 10:57:10 +0200 Subject: [PATCH 2/2] AC-678: Create phpcs sniff for ObsoleteResponseTest --- .../Sniffs/Legacy/ObsoleteResponseSniff.php | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/Magento2/Sniffs/Legacy/ObsoleteResponseSniff.php b/Magento2/Sniffs/Legacy/ObsoleteResponseSniff.php index affb5771..725a8b15 100644 --- a/Magento2/Sniffs/Legacy/ObsoleteResponseSniff.php +++ b/Magento2/Sniffs/Legacy/ObsoleteResponseSniff.php @@ -18,16 +18,16 @@ class ObsoleteResponseSniff implements Sniff * @var string[] */ private $obsoleteResponseMethods = [ - 'loadLayout', - 'renderLayout', - '_redirect', - '_forward', - '_setActiveMenu', - '_addBreadcrumb', - '_addContent', - '_addLeft', - '_addJs', - '_moveBlockToContainer', + 'loadLayout' => 'Please use \Magento\Framework\View\Layout\Builder::build instead.', + 'renderLayout' => 'Please use \Magento\Framework\Controller\ResultInterface::renderResult instead.', + '_redirect' => 'Please use \Magento\Backend\Model\View\Result\Redirect::render instead.', + '_forward' => 'Please use \Magento\Backend\Model\View\Result\Forward::forward instead.', + '_setActiveMenu' => 'Please use \Magento\Backend\Model\View\Result\Page::setActiveMenu instead.', + '_addBreadcrumb' => 'Please use \Magento\Backend\Model\View\Result\Page::addBreadcrumb instead.', + '_addContent' => 'Please use \Magento\Backend\Model\View\Result\Page::addContent instead.', + '_addLeft' => 'Please use \Magento\Backend\Model\View\Result\Page::addLeft instead.', + '_addJs' => 'Please use \Magento\Backend\Model\View\Result\Page::addJs instead.', + '_moveBlockToContainer' => 'Please use \Magento\Backend\Model\View\Result\Page::moveBlockToContainer instead.', ]; /** @@ -49,10 +49,10 @@ public function process(File $phpcsFile, $stackPtr) $tokens = $phpcsFile->getTokens(); $stringPos = $phpcsFile->findNext(T_STRING, $stackPtr + 1); - foreach ($this->obsoleteResponseMethods as $method) { + foreach ($this->obsoleteResponseMethods as $method => $errorMessage) { if ($tokens[$stringPos]['content'] === $method) { $phpcsFile->addWarning( - sprintf('Contains obsolete response method: %s.', $method), + sprintf('%s method is deprecated. %s', $method, $errorMessage), $stackPtr, self::WARNING_CODE_METHOD );