Skip to content
Prev Previous commit
Next Next commit
AC-601: Create phpcs static check for AbstractBlockTest
  • Loading branch information
eliseacornejo committed Aug 19, 2021
commit 750260eb7136c0da6e6ada848f35c8479efcb04f
28 changes: 17 additions & 11 deletions Magento2/Sniffs/Legacy/AbstractBlockSniff.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@

class AbstractBlockSniff implements Sniff
{
const CHILD_HTML_METHOD = 'getChildHtml';
const CHILD_CHILD_HTML_METHOD = 'getChildChildHtml';
private const CHILD_HTML_METHOD = 'getChildHtml';
private const CHILD_CHILD_HTML_METHOD = 'getChildChildHtml';

/**
* Warning violation code.
Expand All @@ -38,18 +38,13 @@ public function process(File $phpcsFile, $stackPtr)
if (!isset($phpcsFile->getTokens()[$stackPtr + 1]['content'])) {
return;
}

$content = $phpcsFile->getTokens()[$stackPtr + 1]['content'];
$isTheNextMethodGetChildSomething = in_array(
$content,
[
self::CHILD_HTML_METHOD,
self::CHILD_CHILD_HTML_METHOD
]
);
if (!$isTheNextMethodGetChildSomething) {

if (!$this->isApplicable($content)) {
return;
}

$paramsCount = $this->getParametersCount($phpcsFile, $stackPtr + 1);
if ($content === self::CHILD_HTML_METHOD && $paramsCount >= 3) {
$phpcsFile->addError(
Expand All @@ -67,6 +62,17 @@ public function process(File $phpcsFile, $stackPtr)
}
}

/**
* Return if it is applicable to do the check
*
* @param String $content
* @return bool
*/
private function isApplicable(String $content): bool
{
return in_array($content, [self::CHILD_HTML_METHOD, self::CHILD_CHILD_HTML_METHOD]);
}

/**
* Get the quantity of parameters on a method
*
Expand Down