Skip to content

Commit 5aa1603

Browse files
authored
Merge pull request #186 from PHPCSStandards/feature/compatibility-with-phpcs-4.x
Officially support PHP_CodeSniffer 4.0
2 parents 9b3bc21 + ca2362a commit 5aa1603

File tree

6 files changed

+188
-109
lines changed

6 files changed

+188
-109
lines changed

.github/workflows/quicktest.yml

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -95,13 +95,22 @@ jobs:
9595
strategy:
9696
matrix:
9797
php: ['5.4', 'latest']
98-
phpcs_version: ['dev-master']
98+
phpcs_version: ['3.1.0', 'dev-master']
99+
100+
exclude:
101+
# PHP 3.1.0 is incompatible with PHP >= 8.0.
102+
- php: 'latest'
103+
phpcs_version: '3.1.0'
99104

100105
include:
106+
# Replacement build for "low" PHPCS 3.x on PHP latest.
107+
- php: 'latest'
108+
phpcs_version: '3.8.0'
109+
101110
- php: '7.2'
102-
phpcs_version: '3.1.0'
103-
- php: '5.4'
104-
phpcs_version: '3.1.0'
111+
phpcs_version: '4.x-dev'
112+
- php: 'latest'
113+
phpcs_version: '4.x-dev'
105114

106115
name: "QTest: PHP ${{ matrix.php }} - PHPCS ${{ matrix.phpcs_version }}"
107116

@@ -114,7 +123,7 @@ jobs:
114123
- name: Setup ini config
115124
id: set_ini
116125
run: |
117-
if [ "${{ matrix.phpcs_version }}" != "dev-master" ]; then
126+
if [ "${{ contains( matrix.phpcs_version, 'dev' ) }}" != "true" ]; then
118127
echo 'PHP_INI=error_reporting=E_ALL & ~E_DEPRECATED, display_errors=On' >> "$GITHUB_OUTPUT"
119128
else
120129
echo 'PHP_INI=error_reporting=-1, display_errors=On' >> "$GITHUB_OUTPUT"
@@ -129,10 +138,10 @@ jobs:
129138

130139
- name: 'Composer: adjust dependencies'
131140
run: |
132-
# Set the PHPCS version to be used in the tests.
133-
composer require --no-update squizlabs/php_codesniffer:"${{ matrix.phpcs_version }}" --no-scripts --no-interaction
134141
# Remove the PHPCSDevCS dependency as it has different PHPCS requirements and would block installs.
135142
composer remove --no-update --dev phpcsstandards/phpcsdevcs --no-scripts --no-interaction
143+
# Set the PHPCS version to be used in the tests.
144+
composer require --no-update squizlabs/php_codesniffer:"${{ matrix.phpcs_version }}" --no-scripts --no-interaction
136145
137146
# Install dependencies and handle caching in one go.
138147
# @link https://github.com/marketplace/actions/install-php-dependencies-with-composer

.github/workflows/test.yml

Lines changed: 32 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -110,56 +110,55 @@ jobs:
110110
# - PHP 8.2 needs PHPCS 3.6.1+ to run without errors.
111111
# - PHP 8.3 needs PHPCS 3.8.0+ to run without errors (though the errors don't affect this package).
112112
# - PHP 8.4 needs PHPCS 3.8.0+ to run without errors (officially 3.11.0, but 3.8.0 will work fine).
113-
php: ['5.4', '5.5', '5.6', '7.0', '7.1', '7.2']
114-
phpcs_version: ['3.1.0', 'dev-master']
113+
#
114+
# Additionally, PHPCS 4.x has a minimum version requirement of PHP 7.2.
115+
php: ['5.4', '5.5', '5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4', '8.5']
116+
phpcs_version: ['dev-master', '4.x-dev']
117+
118+
exclude:
119+
- php: '5.4'
120+
phpcs_version: '4.x-dev'
121+
- php: '5.5'
122+
phpcs_version: '4.x-dev'
123+
- php: '5.6'
124+
phpcs_version: '4.x-dev'
125+
- php: '7.0'
126+
phpcs_version: '4.x-dev'
127+
- php: '7.1'
128+
phpcs_version: '4.x-dev'
115129

116130
include:
117131
# Complete the matrix, while preventing issues with PHPCS versions incompatible with certain PHP versions.
118-
- php: '7.3'
119-
phpcs_version: 'dev-master'
132+
- php: '5.4'
133+
phpcs_version: '3.1.0'
134+
- php: '5.5'
135+
phpcs_version: '3.1.0'
136+
- php: '5.6'
137+
phpcs_version: '3.1.0'
138+
- php: '7.0'
139+
phpcs_version: '3.1.0'
140+
- php: '7.1'
141+
phpcs_version: '3.1.0'
142+
- php: '7.2'
143+
phpcs_version: '3.1.0'
120144
- php: '7.3'
121145
phpcs_version: '3.3.1'
122-
123-
- php: '7.4'
124-
phpcs_version: 'dev-master'
125146
- php: '7.4'
126147
phpcs_version: '3.5.0'
127-
128-
- php: '8.0'
129-
phpcs_version: 'dev-master'
130148
- php: '8.0'
131149
phpcs_version: '3.5.7'
132-
133-
- php: '8.1'
134-
phpcs_version: 'dev-master'
135150
- php: '8.1'
136151
phpcs_version: '3.6.1'
137-
138-
- php: '8.2'
139-
phpcs_version: 'dev-master'
140152
- php: '8.2'
141153
phpcs_version: '3.6.1'
142-
143-
- php: '8.3'
144-
phpcs_version: 'dev-master'
145154
- php: '8.3'
146155
phpcs_version: '3.8.0'
147-
148-
- php: '8.4'
149-
phpcs_version: 'dev-master'
150156
- php: '8.4'
151157
phpcs_version: '3.8.0'
152158

153-
# Experimental builds. These are allowed to fail.
154-
- php: '7.4'
155-
phpcs_version: '4.0.x-dev'
156-
157-
- php: '8.5' # Nightly.
158-
phpcs_version: 'dev-master'
159-
160159
name: "Test: PHP ${{ matrix.php }} - PHPCS ${{ matrix.phpcs_version }}"
161160

162-
continue-on-error: ${{ matrix.php == '8.5' || matrix.phpcs_version == '4.0.x-dev' }}
161+
continue-on-error: ${{ matrix.php == '8.5' }}
163162

164163
steps:
165164
- name: Checkout code
@@ -170,7 +169,7 @@ jobs:
170169
run: |
171170
# On stable PHPCS versions, allow for PHP deprecation notices.
172171
# Unit tests don't need to fail on those for stable releases where those issues won't get fixed anymore.
173-
if [[ "${{ matrix.phpcs_version }}" != "dev-master" && "${{ matrix.phpcs_version }}" != "4.0.x-dev" ]]; then
172+
if [ "${{ contains( matrix.phpcs_version, 'dev' ) }}" != "true" ]; then
174173
echo 'PHP_INI=error_reporting=E_ALL & ~E_DEPRECATED, display_errors=On' >> "$GITHUB_OUTPUT"
175174
else
176175
echo 'PHP_INI=error_reporting=-1, display_errors=On' >> "$GITHUB_OUTPUT"
@@ -185,10 +184,10 @@ jobs:
185184

186185
- name: 'Composer: adjust dependencies'
187186
run: |
188-
# Set the PHPCS version to be used in the tests.
189-
composer require --no-update squizlabs/php_codesniffer:"${{ matrix.phpcs_version }}" --no-scripts --no-interaction
190187
# Remove the PHPCSDevCS dependency as it has different PHPCS requirements and would block installs.
191188
composer remove --no-update --dev phpcsstandards/phpcsdevcs --no-scripts --no-interaction
189+
# Set the PHPCS version to be used in the tests.
190+
composer require --no-update squizlabs/php_codesniffer:"${{ matrix.phpcs_version }}" --no-scripts --no-interaction
192191
193192
# Install dependencies and handle caching in one go.
194193
# @link https://github.com/marketplace/actions/install-php-dependencies-with-composer
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
2+
Ptr | Ln | Col | Cond | ( #) | Token Type | [len]: Content
3+
--------------------------------------------------------------------------
4+
0 | L01 | C 1 | CC 0 | ( 0) | T_OPEN_TAG | [ 5]: <?php
5+
6+
1 | L02 | C 1 | CC 0 | ( 0) | T_WHITESPACE | [ 0]:
7+
8+
2 | L03 | C 1 | CC 0 | ( 0) | T_DOC_COMMENT_OPEN_TAG | [ 3]: /**
9+
3 | L03 | C 4 | CC 0 | ( 0) | T_DOC_COMMENT_WHITESPACE | [ 1]: ⸱
10+
4 | L03 | C 5 | CC 0 | ( 0) | T_DOC_COMMENT_STRING | [ 17]: Short Doc block.⸱
11+
5 | L03 | C 22 | CC 0 | ( 0) | T_DOC_COMMENT_CLOSE_TAG | [ 2]: */
12+
6 | L03 | C 24 | CC 0 | ( 0) | T_WHITESPACE | [ 0]:
13+
14+
7 | L04 | C 1 | CC 0 | ( 0) | T_FUNCTION | [ 8]: function
15+
8 | L04 | C 9 | CC 0 | ( 0) | T_WHITESPACE | [ 1]: ⸱
16+
9 | L04 | C 10 | CC 0 | ( 0) | T_STRING | [ 4]: name
17+
10 | L04 | C 14 | CC 0 | ( 0) | T_OPEN_PARENTHESIS | [ 1]: (
18+
11 | L04 | C 15 | CC 0 | ( 1) | T_VARIABLE | [ 6]: $param
19+
12 | L04 | C 21 | CC 0 | ( 0) | T_CLOSE_PARENTHESIS | [ 1]: )
20+
13 | L04 | C 22 | CC 0 | ( 0) | T_WHITESPACE | [ 1]: ⸱
21+
14 | L04 | C 23 | CC 0 | ( 0) | T_OPEN_CURLY_BRACKET | [ 1]: {
22+
15 | L04 | C 24 | CC 1 | ( 0) | T_WHITESPACE | [ 0]:
23+
24+
16 | L05 | C 1 | CC 1 | ( 0) | T_WHITESPACE | [ 4]: ⸱⸱⸱⸱ | Orig: →
25+
17 | L05 | C 5 | CC 1 | ( 0) | T_IF | [ 2]: if
26+
18 | L05 | C 7 | CC 1 | ( 0) | T_WHITESPACE | [ 1]: ⸱
27+
19 | L05 | C 8 | CC 1 | ( 0) | T_OPEN_PARENTHESIS | [ 1]: (
28+
20 | L05 | C 9 | CC 1 | ( 1) | T_VARIABLE | [ 10]: $condition
29+
21 | L05 | C 19 | CC 1 | ( 1) | T_WHITESPACE | [ 1]: ⸱
30+
22 | L05 | C 20 | CC 1 | ( 1) | T_IS_IDENTICAL | [ 3]: ===
31+
23 | L05 | C 23 | CC 1 | ( 1) | T_WHITESPACE | [ 1]: ⸱
32+
24 | L05 | C 24 | CC 1 | ( 1) | T_CONSTANT_ENCAPSED_STRING | [ 7]: 'q⸱⸱⸱a' | Orig: 'q→a'
33+
25 | L05 | C 31 | CC 1 | ( 1) | T_WHITESPACE | [ 1]: ⸱
34+
26 | L05 | C 32 | CC 1 | ( 1) | T_BOOLEAN_AND | [ 2]: &&
35+
27 | L05 | C 34 | CC 1 | ( 1) | T_WHITESPACE | [ 1]: ⸱
36+
28 | L05 | C 35 | CC 1 | ( 1) | T_VARIABLE | [ 6]: $param
37+
29 | L05 | C 41 | CC 1 | ( 1) | T_WHITESPACE | [ 1]: ⸱
38+
30 | L05 | C 42 | CC 1 | ( 1) | T_IS_IDENTICAL | [ 3]: ===
39+
31 | L05 | C 45 | CC 1 | ( 1) | T_WHITESPACE | [ 1]: ⸱
40+
32 | L05 | C 46 | CC 1 | ( 1) | T_FALSE | [ 5]: false
41+
33 | L05 | C 51 | CC 1 | ( 0) | T_CLOSE_PARENTHESIS | [ 1]: )
42+
34 | L05 | C 52 | CC 1 | ( 0) | T_WHITESPACE | [ 1]: ⸱
43+
35 | L05 | C 53 | CC 1 | ( 0) | T_OPEN_CURLY_BRACKET | [ 1]: {
44+
36 | L05 | C 54 | CC 2 | ( 0) | T_WHITESPACE | [ 0]:
45+
46+
37 | L06 | C 1 | CC 2 | ( 0) | T_WHITESPACE | [ 8]: ⸱⸱⸱⸱⸱⸱⸱⸱
47+
38 | L06 | C 9 | CC 2 | ( 0) | T_COMMENT | [ 16]: /* Do something.
48+
49+
39 | L07 | C 1 | CC 2 | ( 0) | T_COMMENT | [ 24]: ⸱⸱⸱⸱⸱⸱⸱⸱⸱*⸱Multi-line⸱*/ | Orig: →→⸱*⸱Multi-line⸱*/
50+
40 | L07 | C 25 | CC 2 | ( 0) | T_WHITESPACE | [ 0]:
51+
52+
41 | L08 | C 1 | CC 2 | ( 0) | T_WHITESPACE | [ 4]: ⸱⸱⸱⸱
53+
42 | L08 | C 5 | CC 1 | ( 0) | T_CLOSE_CURLY_BRACKET | [ 1]: }
54+
43 | L08 | C 6 | CC 1 | ( 0) | T_WHITESPACE | [ 0]:
55+
56+
44 | L09 | C 1 | CC 1 | ( 0) | T_WHITESPACE | [ 4]: ⸱⸱⸱⸱
57+
45 | L09 | C 5 | CC 1 | ( 0) | T_RETURN | [ 6]: return
58+
46 | L09 | C 11 | CC 1 | ( 0) | T_WHITESPACE | [ 1]: ⸱
59+
47 | L09 | C 12 | CC 1 | ( 0) | T_VARIABLE | [ 3]: $cl
60+
48 | L09 | C 15 | CC 1 | ( 0) | T_SEMICOLON | [ 1]: ;
61+
49 | L09 | C 16 | CC 1 | ( 0) | T_WHITESPACE | [ 0]:
62+
63+
50 | L10 | C 1 | CC 0 | ( 0) | T_CLOSE_CURLY_BRACKET | [ 1]: }
64+
51 | L10 | C 2 | CC 0 | ( 0) | T_WHITESPACE | [ 0]:
65+
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
2+
Ptr | Ln | Col | Cond | ( #) | Token Type | [len]: Content
3+
--------------------------------------------------------------------------
4+
0 | L01 | C 1 | CC 0 | ( 0) | T_OPEN_TAG | [ 5]: <?php
5+
1 | L01 | C 6 | CC 0 | ( 0) | T_WHITESPACE | [ 0]:
6+
7+
2 | L02 | C 1 | CC 0 | ( 0) | T_WHITESPACE | [ 0]:
8+
9+
3 | L03 | C 1 | CC 0 | ( 0) | T_DOC_COMMENT_OPEN_TAG | [ 3]: /**
10+
4 | L03 | C 4 | CC 0 | ( 0) | T_DOC_COMMENT_WHITESPACE | [ 1]: ⸱
11+
5 | L03 | C 5 | CC 0 | ( 0) | T_DOC_COMMENT_STRING | [ 17]: Short Doc block.⸱
12+
6 | L03 | C 22 | CC 0 | ( 0) | T_DOC_COMMENT_CLOSE_TAG | [ 2]: */
13+
7 | L03 | C 24 | CC 0 | ( 0) | T_WHITESPACE | [ 0]:
14+
15+
8 | L04 | C 1 | CC 0 | ( 0) | T_FUNCTION | [ 8]: function
16+
9 | L04 | C 9 | CC 0 | ( 0) | T_WHITESPACE | [ 1]: ⸱
17+
10 | L04 | C 10 | CC 0 | ( 0) | T_STRING | [ 4]: name
18+
11 | L04 | C 14 | CC 0 | ( 0) | T_OPEN_PARENTHESIS | [ 1]: (
19+
12 | L04 | C 15 | CC 0 | ( 1) | T_VARIABLE | [ 6]: $param
20+
13 | L04 | C 21 | CC 0 | ( 0) | T_CLOSE_PARENTHESIS | [ 1]: )
21+
14 | L04 | C 22 | CC 0 | ( 0) | T_WHITESPACE | [ 1]: ⸱
22+
15 | L04 | C 23 | CC 0 | ( 0) | T_OPEN_CURLY_BRACKET | [ 1]: {
23+
16 | L04 | C 24 | CC 1 | ( 0) | T_WHITESPACE | [ 0]:
24+
25+
17 | L05 | C 1 | CC 1 | ( 0) | T_WHITESPACE | [ 4]: ⸱⸱⸱⸱ | Orig: →
26+
18 | L05 | C 5 | CC 1 | ( 0) | T_IF | [ 2]: if
27+
19 | L05 | C 7 | CC 1 | ( 0) | T_WHITESPACE | [ 1]: ⸱
28+
20 | L05 | C 8 | CC 1 | ( 0) | T_OPEN_PARENTHESIS | [ 1]: (
29+
21 | L05 | C 9 | CC 1 | ( 1) | T_VARIABLE | [ 10]: $condition
30+
22 | L05 | C 19 | CC 1 | ( 1) | T_WHITESPACE | [ 1]: ⸱
31+
23 | L05 | C 20 | CC 1 | ( 1) | T_IS_IDENTICAL | [ 3]: ===
32+
24 | L05 | C 23 | CC 1 | ( 1) | T_WHITESPACE | [ 1]: ⸱
33+
25 | L05 | C 24 | CC 1 | ( 1) | T_CONSTANT_ENCAPSED_STRING | [ 7]: 'q⸱⸱⸱a' | Orig: 'q→a'
34+
26 | L05 | C 31 | CC 1 | ( 1) | T_WHITESPACE | [ 1]: ⸱
35+
27 | L05 | C 32 | CC 1 | ( 1) | T_BOOLEAN_AND | [ 2]: &&
36+
28 | L05 | C 34 | CC 1 | ( 1) | T_WHITESPACE | [ 1]: ⸱
37+
29 | L05 | C 35 | CC 1 | ( 1) | T_VARIABLE | [ 6]: $param
38+
30 | L05 | C 41 | CC 1 | ( 1) | T_WHITESPACE | [ 1]: ⸱
39+
31 | L05 | C 42 | CC 1 | ( 1) | T_IS_IDENTICAL | [ 3]: ===
40+
32 | L05 | C 45 | CC 1 | ( 1) | T_WHITESPACE | [ 1]: ⸱
41+
33 | L05 | C 46 | CC 1 | ( 1) | T_FALSE | [ 5]: false
42+
34 | L05 | C 51 | CC 1 | ( 0) | T_CLOSE_PARENTHESIS | [ 1]: )
43+
35 | L05 | C 52 | CC 1 | ( 0) | T_WHITESPACE | [ 1]: ⸱
44+
36 | L05 | C 53 | CC 1 | ( 0) | T_OPEN_CURLY_BRACKET | [ 1]: {
45+
37 | L05 | C 54 | CC 2 | ( 0) | T_WHITESPACE | [ 0]:
46+
47+
38 | L06 | C 1 | CC 2 | ( 0) | T_WHITESPACE | [ 8]: ⸱⸱⸱⸱⸱⸱⸱⸱
48+
39 | L06 | C 9 | CC 2 | ( 0) | T_COMMENT | [ 16]: /* Do something.
49+
50+
40 | L07 | C 1 | CC 2 | ( 0) | T_COMMENT | [ 24]: ⸱⸱⸱⸱⸱⸱⸱⸱⸱*⸱Multi-line⸱*/ | Orig: →→⸱*⸱Multi-line⸱*/
51+
41 | L07 | C 25 | CC 2 | ( 0) | T_WHITESPACE | [ 0]:
52+
53+
42 | L08 | C 1 | CC 2 | ( 0) | T_WHITESPACE | [ 4]: ⸱⸱⸱⸱
54+
43 | L08 | C 5 | CC 1 | ( 0) | T_CLOSE_CURLY_BRACKET | [ 1]: }
55+
44 | L08 | C 6 | CC 1 | ( 0) | T_WHITESPACE | [ 0]:
56+
57+
45 | L09 | C 1 | CC 1 | ( 0) | T_WHITESPACE | [ 4]: ⸱⸱⸱⸱
58+
46 | L09 | C 5 | CC 1 | ( 0) | T_RETURN | [ 6]: return
59+
47 | L09 | C 11 | CC 1 | ( 0) | T_WHITESPACE | [ 1]: ⸱
60+
48 | L09 | C 12 | CC 1 | ( 0) | T_VARIABLE | [ 3]: $cl
61+
49 | L09 | C 15 | CC 1 | ( 0) | T_SEMICOLON | [ 1]: ;
62+
50 | L09 | C 16 | CC 1 | ( 0) | T_WHITESPACE | [ 0]:
63+
64+
51 | L10 | C 1 | CC 0 | ( 0) | T_CLOSE_CURLY_BRACKET | [ 1]: }
65+
52 | L10 | C 2 | CC 0 | ( 0) | T_WHITESPACE | [ 0]:
66+

PHPCSDebug/Tests/Debug/TokenListUnitTest.php

Lines changed: 8 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
namespace PHPCSDebug\Tests\Debug;
1212

13+
use PHP_CodeSniffer\Config;
1314
use PHP_CodeSniffer\Util\Common;
1415
use PHPCSUtils\TestUtils\UtilityMethodTestCase;
1516

@@ -37,74 +38,13 @@ final class TokenListUnitTest extends UtilityMethodTestCase
3738
*/
3839
public function testOutput()
3940
{
40-
$expected = <<<'EOD'
41-
42-
Ptr | Ln | Col | Cond | ( #) | Token Type | [len]: Content
43-
--------------------------------------------------------------------------
44-
0 | L01 | C 1 | CC 0 | ( 0) | T_OPEN_TAG | [ 5]: <?php
45-
46-
1 | L02 | C 1 | CC 0 | ( 0) | T_WHITESPACE | [ 0]:
47-
48-
2 | L03 | C 1 | CC 0 | ( 0) | T_DOC_COMMENT_OPEN_TAG | [ 3]: /**
49-
3 | L03 | C 4 | CC 0 | ( 0) | T_DOC_COMMENT_WHITESPACE | [ 1]: ⸱
50-
4 | L03 | C 5 | CC 0 | ( 0) | T_DOC_COMMENT_STRING | [ 17]: Short Doc block.⸱
51-
5 | L03 | C 22 | CC 0 | ( 0) | T_DOC_COMMENT_CLOSE_TAG | [ 2]: */
52-
6 | L03 | C 24 | CC 0 | ( 0) | T_WHITESPACE | [ 0]:
53-
54-
7 | L04 | C 1 | CC 0 | ( 0) | T_FUNCTION | [ 8]: function
55-
8 | L04 | C 9 | CC 0 | ( 0) | T_WHITESPACE | [ 1]: ⸱
56-
9 | L04 | C 10 | CC 0 | ( 0) | T_STRING | [ 4]: name
57-
10 | L04 | C 14 | CC 0 | ( 0) | T_OPEN_PARENTHESIS | [ 1]: (
58-
11 | L04 | C 15 | CC 0 | ( 1) | T_VARIABLE | [ 6]: $param
59-
12 | L04 | C 21 | CC 0 | ( 0) | T_CLOSE_PARENTHESIS | [ 1]: )
60-
13 | L04 | C 22 | CC 0 | ( 0) | T_WHITESPACE | [ 1]: ⸱
61-
14 | L04 | C 23 | CC 0 | ( 0) | T_OPEN_CURLY_BRACKET | [ 1]: {
62-
15 | L04 | C 24 | CC 1 | ( 0) | T_WHITESPACE | [ 0]:
63-
64-
16 | L05 | C 1 | CC 1 | ( 0) | T_WHITESPACE | [ 4]: ⸱⸱⸱⸱ | Orig: →
65-
17 | L05 | C 5 | CC 1 | ( 0) | T_IF | [ 2]: if
66-
18 | L05 | C 7 | CC 1 | ( 0) | T_WHITESPACE | [ 1]: ⸱
67-
19 | L05 | C 8 | CC 1 | ( 0) | T_OPEN_PARENTHESIS | [ 1]: (
68-
20 | L05 | C 9 | CC 1 | ( 1) | T_VARIABLE | [ 10]: $condition
69-
21 | L05 | C 19 | CC 1 | ( 1) | T_WHITESPACE | [ 1]: ⸱
70-
22 | L05 | C 20 | CC 1 | ( 1) | T_IS_IDENTICAL | [ 3]: ===
71-
23 | L05 | C 23 | CC 1 | ( 1) | T_WHITESPACE | [ 1]: ⸱
72-
24 | L05 | C 24 | CC 1 | ( 1) | T_CONSTANT_ENCAPSED_STRING | [ 7]: 'q⸱⸱⸱a' | Orig: 'q→a'
73-
25 | L05 | C 31 | CC 1 | ( 1) | T_WHITESPACE | [ 1]: ⸱
74-
26 | L05 | C 32 | CC 1 | ( 1) | T_BOOLEAN_AND | [ 2]: &&
75-
27 | L05 | C 34 | CC 1 | ( 1) | T_WHITESPACE | [ 1]: ⸱
76-
28 | L05 | C 35 | CC 1 | ( 1) | T_VARIABLE | [ 6]: $param
77-
29 | L05 | C 41 | CC 1 | ( 1) | T_WHITESPACE | [ 1]: ⸱
78-
30 | L05 | C 42 | CC 1 | ( 1) | T_IS_IDENTICAL | [ 3]: ===
79-
31 | L05 | C 45 | CC 1 | ( 1) | T_WHITESPACE | [ 1]: ⸱
80-
32 | L05 | C 46 | CC 1 | ( 1) | T_FALSE | [ 5]: false
81-
33 | L05 | C 51 | CC 1 | ( 0) | T_CLOSE_PARENTHESIS | [ 1]: )
82-
34 | L05 | C 52 | CC 1 | ( 0) | T_WHITESPACE | [ 1]: ⸱
83-
35 | L05 | C 53 | CC 1 | ( 0) | T_OPEN_CURLY_BRACKET | [ 1]: {
84-
36 | L05 | C 54 | CC 2 | ( 0) | T_WHITESPACE | [ 0]:
85-
86-
37 | L06 | C 1 | CC 2 | ( 0) | T_WHITESPACE | [ 8]: ⸱⸱⸱⸱⸱⸱⸱⸱
87-
38 | L06 | C 9 | CC 2 | ( 0) | T_COMMENT | [ 16]: /* Do something.
88-
89-
39 | L07 | C 1 | CC 2 | ( 0) | T_COMMENT | [ 24]: ⸱⸱⸱⸱⸱⸱⸱⸱⸱*⸱Multi-line⸱*/ | Orig: →→⸱*⸱Multi-line⸱*/
90-
40 | L07 | C 25 | CC 2 | ( 0) | T_WHITESPACE | [ 0]:
91-
92-
41 | L08 | C 1 | CC 2 | ( 0) | T_WHITESPACE | [ 4]: ⸱⸱⸱⸱
93-
42 | L08 | C 5 | CC 1 | ( 0) | T_CLOSE_CURLY_BRACKET | [ 1]: }
94-
43 | L08 | C 6 | CC 1 | ( 0) | T_WHITESPACE | [ 0]:
95-
96-
44 | L09 | C 1 | CC 1 | ( 0) | T_WHITESPACE | [ 4]: ⸱⸱⸱⸱
97-
45 | L09 | C 5 | CC 1 | ( 0) | T_RETURN | [ 6]: return
98-
46 | L09 | C 11 | CC 1 | ( 0) | T_WHITESPACE | [ 1]: ⸱
99-
47 | L09 | C 12 | CC 1 | ( 0) | T_VARIABLE | [ 3]: $cl
100-
48 | L09 | C 15 | CC 1 | ( 0) | T_SEMICOLON | [ 1]: ;
101-
49 | L09 | C 16 | CC 1 | ( 0) | T_WHITESPACE | [ 0]:
102-
103-
50 | L10 | C 1 | CC 0 | ( 0) | T_CLOSE_CURLY_BRACKET | [ 1]: }
104-
51 | L10 | C 2 | CC 0 | ( 0) | T_WHITESPACE | [ 0]:
105-
106-
107-
EOD;
41+
if (version_compare(Config::VERSION, '3.99.99', '>') === true) {
42+
// As of PHPCS 4.0, whitespace after the long PHP open tag is tokenized separately,
43+
// hence the difference in test expectations.
44+
$expected = file_get_contents(__DIR__ . '/TokenListExpectationPhpcs4.txt');
45+
} else {
46+
$expected = file_get_contents(__DIR__ . '/TokenListExpectationPhpcs3.txt');
47+
}
10848

10949
if (empty(self::$phpcsFile->ruleset->tokenListeners)) {
11050
// PHPCSUtils 1.0.9+.

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
},
2424
"require" : {
2525
"php" : ">=5.4",
26-
"squizlabs/php_codesniffer" : "^3.1.0",
26+
"squizlabs/php_codesniffer" : "^3.1.0 || ^4.0",
2727
"dealerdirect/phpcodesniffer-composer-installer" : "^0.4.1 || ^0.5 || ^0.6.2 || ^0.7 || ^1.0"
2828
},
2929
"require-dev" : {

0 commit comments

Comments
 (0)