From 90baca0ea88db515bf54b96ad5cc89e27d2a7fd5 Mon Sep 17 00:00:00 2001 From: ADmad Date: Tue, 8 Nov 2022 13:34:32 +0530 Subject: [PATCH] Add spacing check for arrow function closures. --- CakePHP/Sniffs/Functions/ClosureDeclarationSniff.php | 5 +++-- CakePHP/Tests/Functions/ClosureDeclarationUnitTest.inc | 5 ++++- CakePHP/Tests/Functions/ClosureDeclarationUnitTest.php | 3 ++- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/CakePHP/Sniffs/Functions/ClosureDeclarationSniff.php b/CakePHP/Sniffs/Functions/ClosureDeclarationSniff.php index 4b2a86e0..e1a1187d 100644 --- a/CakePHP/Sniffs/Functions/ClosureDeclarationSniff.php +++ b/CakePHP/Sniffs/Functions/ClosureDeclarationSniff.php @@ -27,7 +27,7 @@ class ClosureDeclarationSniff implements Sniff */ public function register() { - return [T_CLOSURE]; + return [T_CLOSURE, T_FN]; } /** @@ -43,7 +43,8 @@ public function process(File $phpcsFile, $stackPtr) } if ($spaces !== 1) { - $error = 'Expected 1 space after closure\'s function keyword; %s found'; + $keyword = $tokens[$stackPtr]['code'] === T_FN ? 'fn' : 'function'; + $error = "Expected 1 space after closure's $keyword keyword; %s found"; $data = [$spaces]; $phpcsFile->addError($error, $stackPtr, 'SpaceAfterFunction', $data); } diff --git a/CakePHP/Tests/Functions/ClosureDeclarationUnitTest.inc b/CakePHP/Tests/Functions/ClosureDeclarationUnitTest.inc index 013c2f01..836703f8 100644 --- a/CakePHP/Tests/Functions/ClosureDeclarationUnitTest.inc +++ b/CakePHP/Tests/Functions/ClosureDeclarationUnitTest.inc @@ -21,6 +21,9 @@ class TraitUser echo 'It works'; }; $visitor($this); + + $visitor = fn($expression) => echo 'It Fails'; + $visitor = fn ($expression) => echo 'It works'; } } @@ -33,4 +36,4 @@ $zum = function()use ($foo, $bar) { $zum = function ()use ($foo, $bar) { return $foo; -}; \ No newline at end of file +}; diff --git a/CakePHP/Tests/Functions/ClosureDeclarationUnitTest.php b/CakePHP/Tests/Functions/ClosureDeclarationUnitTest.php index 63c8911c..abe1c68f 100644 --- a/CakePHP/Tests/Functions/ClosureDeclarationUnitTest.php +++ b/CakePHP/Tests/Functions/ClosureDeclarationUnitTest.php @@ -13,7 +13,8 @@ public function getErrorList() { return [ 17 => 1, - 30 => 1, + 25 => 1, + 33 => 1, ]; }