From 9c4d8fc89d4df6815402d5530b638e918b068c5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Umut=20I=C5=9F=C4=B1k?= Date: Fri, 14 Aug 2020 19:32:19 +0300 Subject: [PATCH] Add --custom-function parameter to check --- src/Settings.php | 9 +++ .../PhpVarDumpCheck/CustomFunctionTest.php | 79 +++++++++++++++++++ var-dump-check.php | 1 + 3 files changed, 89 insertions(+) create mode 100644 tests/JakubOnderka/PhpVarDumpCheck/CustomFunctionTest.php diff --git a/src/Settings.php b/src/Settings.php index a35d60d..8a61636 100644 --- a/src/Settings.php +++ b/src/Settings.php @@ -74,6 +74,7 @@ public static function parseArguments(array $arguments) { $arguments = new ArrayIterator(array_slice($arguments, 1)); $setting = new self; + $customFunctions = array(); foreach ($arguments as $argument) { if ($argument[0] !== '-') { @@ -124,6 +125,10 @@ public static function parseArguments(array $arguments) $setting->functionsToCheck[] = self::LARAVEL_DUMP; break; + case '--custom-function': + $customFunctions = array_map('trim', explode(',', $arguments->getNext())); + break; + case '--doctrine': $setting->functionsToCheck[] = self::DOCTRINE_DUMP; $setting->functionsToCheck[] = self::DOCTRINE_DUMP_2; @@ -134,7 +139,11 @@ public static function parseArguments(array $arguments) } } } + + // Merge if any custom function is given + $setting->functionsToCheck = array_merge($setting->functionsToCheck, $customFunctions); $setting->functionsToCheck = array_unique($setting->functionsToCheck); + return $setting; } diff --git a/tests/JakubOnderka/PhpVarDumpCheck/CustomFunctionTest.php b/tests/JakubOnderka/PhpVarDumpCheck/CustomFunctionTest.php new file mode 100644 index 0000000..75f1883 --- /dev/null +++ b/tests/JakubOnderka/PhpVarDumpCheck/CustomFunctionTest.php @@ -0,0 +1,79 @@ +functionsToCheck = array_merge($settings->functionsToCheck, array( + 'functionName1' + )); + + $uut = new PhpVarDumpCheck\Checker($settings); + $content = <<check($content); + $this->assertCount(0, $result); + } + + public function testCheck_singleFunction() + { + $settings = new PhpVarDumpCheck\Settings(); + + $settings->functionsToCheck = array_merge($settings->functionsToCheck, array( + 'functionName1' + )); + + $uut = new PhpVarDumpCheck\Checker($settings); + $content = <<check($content); + $this->assertCount(1, $result); + } + + + public function testCheck_multipleFunction() + { + $settings = new PhpVarDumpCheck\Settings(); + + $settings->functionsToCheck = array_merge($settings->functionsToCheck, array( + 'functionName1', + 'functionName2' + )); + + $uut = new PhpVarDumpCheck\Checker($settings); + + $content1 = <<check($content1); + $this->assertCount(1, $result); + + $result = $uut->check($content2); + $this->assertCount(1, $result); + + $result = $uut->check($content3); + $this->assertCount(2, $result); + } +} diff --git a/var-dump-check.php b/var-dump-check.php index 8a30870..7a9a7a7 100644 --- a/var-dump-check.php +++ b/var-dump-check.php @@ -21,6 +21,7 @@ function showOptions() { --symfony Enable support for Symfony2 (dump, VarDumper::dump, VarDumper::setHandler, Vardumper::dd()) --doctrine Enable support for Doctrine (Doctrine::dump, \Doctrine\Common\Util\Debug::dump) --laravel Enable support for Laravel (dd, dump) + --custom-function Comma separated custom function name(s) to check like "pre_echo". --extensions Check only files with selected extensions separated by comma (default: php, php3, php4, php5, phtml) --exclude Exclude directory. If you want exclude multiple directory, use