Skip to content

Commit

Permalink
Merge pull request #642 from rodrigoprimo/test-coverage-camel-caps-fu…
Browse files Browse the repository at this point in the history
…nction-name

Generic/CamelCapsFunctionName: improve code coverage
  • Loading branch information
jrfnl authored Oct 29, 2024
2 parents 0f5680a + d59edc4 commit 2fe2330
Show file tree
Hide file tree
Showing 5 changed files with 93 additions and 51 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ protected function processTokenWithinScope(File $phpcsFile, $stackPtr, $currScop

$methodName = $phpcsFile->getDeclarationName($stackPtr);
if ($methodName === null) {
// Ignore closures.
// Live coding or parse error. Bow out.
return;
}

Expand Down Expand Up @@ -150,7 +150,7 @@ protected function processTokenWithinScope(File $phpcsFile, $stackPtr, $currScop
return;
}

// Ignore first underscore in methods prefixed with "_".
// Ignore leading underscores in the method name.
$methodName = ltrim($methodName, '_');

$methodProps = $phpcsFile->getMethodProperties($stackPtr);
Expand All @@ -168,7 +168,6 @@ protected function processTokenWithinScope(File $phpcsFile, $stackPtr, $currScop
}

$phpcsFile->recordMetric($stackPtr, 'CamelCase method name', 'no');
return;
} else {
$phpcsFile->recordMetric($stackPtr, 'CamelCase method name', 'yes');
}
Expand All @@ -189,7 +188,7 @@ protected function processTokenOutsideScope(File $phpcsFile, $stackPtr)
{
$functionName = $phpcsFile->getDeclarationName($stackPtr);
if ($functionName === null) {
// Ignore closures.
// Live coding or parse error. Bow out.
return;
}

Expand All @@ -206,7 +205,7 @@ protected function processTokenOutsideScope(File $phpcsFile, $stackPtr)
$phpcsFile->addError($error, $stackPtr, 'FunctionDoubleUnderscore', $errorData);
}

// Ignore first underscore in functions prefixed with "_".
// Ignore leading underscores in the method name.
$functionName = ltrim($functionName, '_');

if (Common::isCamelCaps($functionName, false, true, $this->strict) === false) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -183,3 +183,22 @@ enum Suit: string implements Colorful, CardGame {
public function parseMyDSN() {}
public function get_some_value() {}
}

interface MyInterface {
public function getSomeValue();
public function get_some_value();
}

class MyClass {
// phpcs:set Generic.NamingConventions.CamelCapsFunctionName strict false
function strictFOrmatDIsabled() {} // Ok.
// phpcs:set Generic.NamingConventions.CamelCapsFunctionName strict true

function strictFOrmatIsENabled() {} // Not ok.
}

// phpcs:set Generic.NamingConventions.CamelCapsFunctionName strict false
function strictFOrmatDIsabled() {} // Ok.
// phpcs:set Generic.NamingConventions.CamelCapsFunctionName strict true

function strictFOrmatIsENabled() {} // Not ok.
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?php

// Intentional parse error (missing method name).
// This should be the only test in this file.
// Testing that the sniff is *not* triggered.

class My_Class {
public function {}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?php

// Intentional parse error (missing function name).
// This should be the only test in this file.
// Testing that the sniff is *not* triggered.

function
Original file line number Diff line number Diff line change
Expand Up @@ -26,55 +26,63 @@ final class CamelCapsFunctionNameUnitTest extends AbstractSniffUnitTest
* The key of the array should represent the line number and the value
* should represent the number of errors that should occur on that line.
*
* @param string $testFile The name of the test file to process.
*
* @return array<int, int>
*/
public function getErrorList()
public function getErrorList($testFile='')
{
$errors = [
10 => 1,
11 => 1,
12 => 1,
13 => 1,
16 => 1,
17 => 1,
20 => 1,
21 => 1,
24 => 1,
25 => 1,
30 => 1,
31 => 1,
50 => 1,
52 => 1,
53 => 2,
57 => 1,
58 => 1,
59 => 1,
60 => 1,
61 => 1,
62 => 1,
63 => 1,
64 => 1,
65 => 1,
66 => 1,
67 => 1,
68 => 2,
69 => 1,
71 => 1,
72 => 1,
73 => 2,
118 => 1,
144 => 1,
146 => 1,
147 => 2,
158 => 1,
159 => 1,
179 => 1,
180 => 2,
183 => 1,
184 => 1,
];

return $errors;
switch ($testFile) {
case 'CamelCapsFunctionNameUnitTest.1.inc':
return[
10 => 1,
11 => 1,
12 => 1,
13 => 1,
16 => 1,
17 => 1,
20 => 1,
21 => 1,
24 => 1,
25 => 1,
30 => 1,
31 => 1,
50 => 1,
52 => 1,
53 => 2,
57 => 1,
58 => 1,
59 => 1,
60 => 1,
61 => 1,
62 => 1,
63 => 1,
64 => 1,
65 => 1,
66 => 1,
67 => 1,
68 => 2,
69 => 1,
71 => 1,
72 => 1,
73 => 2,
118 => 1,
144 => 1,
146 => 1,
147 => 2,
158 => 1,
159 => 1,
179 => 1,
180 => 2,
183 => 1,
184 => 1,
189 => 1,
197 => 1,
204 => 1,
];
default:
return [];
}//end switch

}//end getErrorList()

Expand Down

0 comments on commit 2fe2330

Please sign in to comment.