Chris@17
|
1 <?php
|
Chris@17
|
2 /**
|
Chris@17
|
3 * Bootstrap file for PHP_CodeSniffer unit tests.
|
Chris@17
|
4 *
|
Chris@17
|
5 * @author Greg Sherwood <gsherwood@squiz.net>
|
Chris@17
|
6 * @copyright 2006-2017 Squiz Pty Ltd (ABN 77 084 670 600)
|
Chris@17
|
7 * @license https://github.com/squizlabs/PHP_CodeSniffer/blob/master/licence.txt BSD Licence
|
Chris@17
|
8 */
|
Chris@17
|
9
|
Chris@17
|
10 if (defined('PHP_CODESNIFFER_IN_TESTS') === false) {
|
Chris@17
|
11 define('PHP_CODESNIFFER_IN_TESTS', true);
|
Chris@17
|
12 }
|
Chris@17
|
13
|
Chris@17
|
14 if (defined('PHP_CODESNIFFER_CBF') === false) {
|
Chris@17
|
15 define('PHP_CODESNIFFER_CBF', false);
|
Chris@17
|
16 }
|
Chris@17
|
17
|
Chris@17
|
18 if (defined('PHP_CODESNIFFER_VERBOSITY') === false) {
|
Chris@17
|
19 define('PHP_CODESNIFFER_VERBOSITY', 0);
|
Chris@17
|
20 }
|
Chris@17
|
21
|
Chris@17
|
22 if (is_file(__DIR__.'/../autoload.php') === true) {
|
Chris@17
|
23 include_once __DIR__.'/../autoload.php';
|
Chris@17
|
24 } else {
|
Chris@17
|
25 include_once 'PHP/CodeSniffer/autoload.php';
|
Chris@17
|
26 }
|
Chris@17
|
27
|
Chris@17
|
28 $tokens = new \PHP_CodeSniffer\Util\Tokens();
|
Chris@17
|
29
|
Chris@17
|
30 // Compatibility for PHPUnit < 6 and PHPUnit 6+.
|
Chris@17
|
31 if (class_exists('PHPUnit_Framework_TestSuite') === true && class_exists('PHPUnit\Framework\TestSuite') === false) {
|
Chris@17
|
32 class_alias('PHPUnit_Framework_TestSuite', 'PHPUnit'.'\Framework\TestSuite');
|
Chris@17
|
33 }
|
Chris@17
|
34
|
Chris@17
|
35 if (class_exists('PHPUnit_Framework_TestCase') === true && class_exists('PHPUnit\Framework\TestCase') === false) {
|
Chris@17
|
36 class_alias('PHPUnit_Framework_TestCase', 'PHPUnit'.'\Framework\TestCase');
|
Chris@17
|
37 }
|
Chris@17
|
38
|
Chris@17
|
39 if (class_exists('PHPUnit_TextUI_TestRunner') === true && class_exists('PHPUnit\TextUI\TestRunner') === false) {
|
Chris@17
|
40 class_alias('PHPUnit_TextUI_TestRunner', 'PHPUnit'.'\TextUI\TestRunner');
|
Chris@17
|
41 }
|
Chris@17
|
42
|
Chris@17
|
43 if (class_exists('PHPUnit_Framework_TestResult') === true && class_exists('PHPUnit\Framework\TestResult') === false) {
|
Chris@17
|
44 class_alias('PHPUnit_Framework_TestResult', 'PHPUnit'.'\Framework\TestResult');
|
Chris@17
|
45 }
|
Chris@17
|
46
|
Chris@17
|
47
|
Chris@17
|
48 /**
|
Chris@17
|
49 * A global util function to help print unit test fixing data.
|
Chris@17
|
50 *
|
Chris@17
|
51 * @return void
|
Chris@17
|
52 */
|
Chris@17
|
53 function printPHPCodeSnifferTestOutput()
|
Chris@17
|
54 {
|
Chris@18
|
55 echo PHP_EOL.PHP_EOL;
|
Chris@18
|
56
|
Chris@18
|
57 $output = 'The test files';
|
Chris@18
|
58 $data = [];
|
Chris@18
|
59
|
Chris@17
|
60 $codeCount = count($GLOBALS['PHP_CODESNIFFER_SNIFF_CODES']);
|
Chris@18
|
61 if (empty($GLOBALS['PHP_CODESNIFFER_SNIFF_CASE_FILES']) === false) {
|
Chris@18
|
62 $files = call_user_func_array('array_merge', $GLOBALS['PHP_CODESNIFFER_SNIFF_CASE_FILES']);
|
Chris@18
|
63 $files = array_unique($files);
|
Chris@18
|
64 $fileCount = count($files);
|
Chris@17
|
65
|
Chris@18
|
66 $output = '%d sniff test files';
|
Chris@18
|
67 $data[] = $fileCount;
|
Chris@18
|
68 }
|
Chris@18
|
69
|
Chris@18
|
70 $output .= ' generated %d unique error codes';
|
Chris@18
|
71 $data[] = $codeCount;
|
Chris@18
|
72
|
Chris@17
|
73 if ($codeCount > 0) {
|
Chris@17
|
74 $fixes = count($GLOBALS['PHP_CODESNIFFER_FIXABLE_CODES']);
|
Chris@17
|
75 $percent = round(($fixes / $codeCount * 100), 2);
|
Chris@18
|
76
|
Chris@18
|
77 $output .= '; %d were fixable (%d%%)';
|
Chris@18
|
78 $data[] = $fixes;
|
Chris@18
|
79 $data[] = $percent;
|
Chris@17
|
80 }
|
Chris@17
|
81
|
Chris@18
|
82 vprintf($output, $data);
|
Chris@18
|
83
|
Chris@17
|
84 }//end printPHPCodeSnifferTestOutput()
|