Skip to content

Commit 3bb2ffa

Browse files
committed
Tests\Core\AllTests: simplify creation of the test suite
As the refactor will add a lot of new unit test files, let's automate the creation of the test suite some more by automatically adding all Test files within the `Test\Core` directory.
1 parent 91e4384 commit 3bb2ffa

File tree

2 files changed

+21
-23
lines changed

2 files changed

+21
-23
lines changed

tests/Core/AllTests.php

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,17 @@
33
* A test class for testing the core.
44
*
55
* @author Greg Sherwood <gsherwood@squiz.net>
6-
* @copyright 2006-2015 Squiz Pty Ltd (ABN 77 084 670 600)
6+
* @author Juliette Reinders Folmer <phpcs_nospam@adviesenzo.nl>
7+
* @copyright 2006-2019 Squiz Pty Ltd (ABN 77 084 670 600)
78
* @license https://github.com/squizlabs/PHP_CodeSniffer/blob/master/licence.txt BSD Licence
89
*/
910

1011
namespace PHP_CodeSniffer\Tests\Core;
1112

13+
use PHP_CodeSniffer\Tests\FileList;
1214
use PHPUnit\TextUI\TestRunner;
1315
use PHPUnit\Framework\TestSuite;
1416

15-
require_once 'IsCamelCapsTest.php';
16-
require_once 'ErrorSuppressionTest.php';
17-
require_once 'File/FindEndOfStatementTest.php';
18-
require_once 'File/FindExtendedClassNameTest.php';
19-
require_once 'File/FindImplementedInterfaceNamesTest.php';
20-
require_once 'File/GetMemberPropertiesTest.php';
21-
require_once 'File/GetMethodParametersTest.php';
22-
require_once 'File/GetMethodPropertiesTest.php';
23-
require_once 'File/IsReferenceTest.php';
24-
require_once 'Filters/Filter/AcceptTest.php';
25-
2617
class AllTests
2718
{
2819

@@ -47,16 +38,23 @@ public static function main()
4738
public static function suite()
4839
{
4940
$suite = new TestSuite('PHP CodeSniffer Core');
50-
$suite->addTestSuite('PHP_CodeSniffer\Tests\Core\IsCamelCapsTest');
51-
$suite->addTestSuite('PHP_CodeSniffer\Tests\Core\ErrorSuppressionTest');
52-
$suite->addTestSuite('PHP_CodeSniffer\Tests\Core\File\FindEndOfStatementTest');
53-
$suite->addTestSuite('PHP_CodeSniffer\Tests\Core\File\FindExtendedClassNameTest');
54-
$suite->addTestSuite('PHP_CodeSniffer\Tests\Core\File\FindImplementedInterfaceNamesTest');
55-
$suite->addTestSuite('PHP_CodeSniffer\Tests\Core\File\GetMemberPropertiesTest');
56-
$suite->addTestSuite('PHP_CodeSniffer\Tests\Core\File\GetMethodParametersTest');
57-
$suite->addTestSuite('PHP_CodeSniffer\Tests\Core\File\GetMethodPropertiesTest');
58-
$suite->addTestSuite('PHP_CodeSniffer\Tests\Core\File\IsReferenceTest');
59-
$suite->addTestSuite('PHP_CodeSniffer\Tests\Core\Filters\Filter\AcceptTest');
41+
42+
$testFileIterator = new FileList(__DIR__, '', '`Test\.php$`Di');
43+
foreach ($testFileIterator->fileIterator as $file) {
44+
if (strpos($file, 'AbstractMethodUnitTest.php') !== false) {
45+
continue;
46+
}
47+
48+
include_once $file;
49+
50+
$class = str_replace(__DIR__, '', $file);
51+
$class = str_replace('.php', '', $class);
52+
$class = str_replace('/', '\\', $class);
53+
$class = 'PHP_CodeSniffer\Tests\Core'.$class;
54+
55+
$suite->addTestSuite($class);
56+
}
57+
6058
return $suite;
6159

6260
}//end suite()

tests/FileList.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ class FileList
2424
*
2525
* @var \DirectoryIterator
2626
*/
27-
protected $fileIterator;
27+
public $fileIterator;
2828

2929
/**
3030
* Base regex to use if no filter regex is provided.

0 commit comments

Comments
 (0)