Chris@4
|
1 <?php
|
Chris@4
|
2 /**
|
Chris@4
|
3 * A test class for running all PHP_CodeSniffer unit tests.
|
Chris@4
|
4 *
|
Chris@4
|
5 * @author Greg Sherwood <gsherwood@squiz.net>
|
Chris@4
|
6 * @copyright 2006-2015 Squiz Pty Ltd (ABN 77 084 670 600)
|
Chris@4
|
7 * @license https://github.com/squizlabs/PHP_CodeSniffer/blob/master/licence.txt BSD Licence
|
Chris@4
|
8 */
|
Chris@4
|
9
|
Chris@4
|
10 namespace PHP_CodeSniffer\Tests;
|
Chris@4
|
11
|
Chris@4
|
12 use PHPUnit\TextUI\TestRunner;
|
Chris@4
|
13
|
Chris@4
|
14 if (is_file(__DIR__.'/../autoload.php') === true) {
|
Chris@4
|
15 include_once 'Core/AllTests.php';
|
Chris@4
|
16 include_once 'Standards/AllSniffs.php';
|
Chris@4
|
17 } else {
|
Chris@4
|
18 include_once 'CodeSniffer/Core/AllTests.php';
|
Chris@4
|
19 include_once 'CodeSniffer/Standards/AllSniffs.php';
|
Chris@4
|
20 }
|
Chris@4
|
21
|
Chris@4
|
22 // PHPUnit 7 made the TestSuite run() method incompatible with
|
Chris@4
|
23 // older PHPUnit versions due to return type hints, so maintain
|
Chris@4
|
24 // two different suite objects.
|
Chris@4
|
25 $phpunit7 = false;
|
Chris@4
|
26 if (class_exists('\PHPUnit\Runner\Version') === true) {
|
Chris@4
|
27 $version = \PHPUnit\Runner\Version::id();
|
Chris@4
|
28 if ($version[0] === '7') {
|
Chris@4
|
29 $phpunit7 = true;
|
Chris@4
|
30 }
|
Chris@4
|
31 }
|
Chris@4
|
32
|
Chris@4
|
33 if ($phpunit7 === true) {
|
Chris@4
|
34 include_once 'TestSuite7.php';
|
Chris@4
|
35 } else {
|
Chris@4
|
36 include_once 'TestSuite.php';
|
Chris@4
|
37 }
|
Chris@4
|
38
|
Chris@4
|
39 class PHP_CodeSniffer_AllTests
|
Chris@4
|
40 {
|
Chris@4
|
41
|
Chris@4
|
42
|
Chris@4
|
43 /**
|
Chris@4
|
44 * Add all PHP_CodeSniffer test suites into a single test suite.
|
Chris@4
|
45 *
|
Chris@4
|
46 * @return \PHPUnit\Framework\TestSuite
|
Chris@4
|
47 */
|
Chris@4
|
48 public static function suite()
|
Chris@4
|
49 {
|
Chris@4
|
50 $GLOBALS['PHP_CODESNIFFER_STANDARD_DIRS'] = [];
|
Chris@4
|
51 $GLOBALS['PHP_CODESNIFFER_TEST_DIRS'] = [];
|
Chris@4
|
52
|
Chris@4
|
53 // Use a special PHP_CodeSniffer test suite so that we can
|
Chris@4
|
54 // unset our autoload function after the run.
|
Chris@4
|
55 $suite = new TestSuite('PHP CodeSniffer');
|
Chris@4
|
56
|
Chris@4
|
57 $suite->addTest(Core\AllTests::suite());
|
Chris@4
|
58 $suite->addTest(Standards\AllSniffs::suite());
|
Chris@4
|
59
|
Chris@4
|
60 return $suite;
|
Chris@4
|
61
|
Chris@4
|
62 }//end suite()
|
Chris@4
|
63
|
Chris@4
|
64
|
Chris@4
|
65 }//end class
|