Skip to content

Commit 61fb35f

Browse files
committed
PHPCSDebug/TokenList: improve PHP test case file
... to include more code, allowing it to hit all conditions. * Have code within parentheses - to verify the parentheses count display in the parentheses column. * Have code within scope conditions - to verify the scope count display in the conditions column. * Have a comment token which include trailing whitespace to verify visualization of this whitespace. * Have a multi-line `/* */`-style comment to verify visualization of leading whitespace. * Have `T_DOC_COMMENT_WHITESPACE` token to verify visualization of whitespace within docblocks. * Have a tab in select places as a whitespace character to verify the correct display of `'content'` and `'orig_content'`, including whitespace visualization. * Have a multi-digit number of lines in the test file to ensure the correct setting and padding of the "Line" column is safeguarded.
1 parent 955f7a6 commit 61fb35f

File tree

2 files changed

+77
-9
lines changed

2 files changed

+77
-9
lines changed
Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
11
<?php
22

3-
function
3+
/** Short Doc block. */
4+
function name($param) {
5+
if ($condition === 'q a' && $param === false) {
6+
/* Do something.
7+
* Multi-line */
8+
}
9+
return $cl;
10+
}

PHPCSDebug/Tests/Debug/TokenListUnitTest.php

Lines changed: 69 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
/**
1616
* Unit test class for the TokenList sniff.
1717
*
18-
* @covers PHPCSDebug\Sniffs\Debug\TokenListSniff
18+
* @covers \PHPCSDebug\Sniffs\Debug\TokenListSniff
1919
*
2020
* @since 1.0.0
2121
*/
@@ -36,13 +36,74 @@ class TokenListUnitTest extends UtilityMethodTestCase
3636
*/
3737
public function testOutput()
3838
{
39-
$expected = "\n";
40-
$expected .= 'Ptr | Ln | Col | Cond | ( #) | Token Type | [len]: Content' . "\n";
41-
$expected .= '-------------------------------------------------------------------------' . "\n";
42-
$expected .= ' 0 | L1 | C 1 | CC 0 | ( 0) | T_OPEN_TAG | [ 5]: <?php' . "\n\n";
43-
$expected .= ' 1 | L2 | C 1 | CC 0 | ( 0) | T_WHITESPACE | [ 0]: ' . "\n\n";
44-
$expected .= ' 2 | L3 | C 1 | CC 0 | ( 0) | T_FUNCTION | [ 8]: function' . "\n";
45-
$expected .= ' 3 | L3 | C 9 | CC 0 | ( 0) | T_WHITESPACE | [ 0]: ' . "\n\n";
39+
$expected = <<<'EOD'
40+
41+
Ptr | Ln | Col | Cond | ( #) | Token Type | [len]: Content
42+
--------------------------------------------------------------------------
43+
0 | L01 | C 1 | CC 0 | ( 0) | T_OPEN_TAG | [ 5]: <?php
44+
45+
1 | L02 | C 1 | CC 0 | ( 0) | T_WHITESPACE | [ 0]:
46+
47+
2 | L03 | C 1 | CC 0 | ( 0) | T_DOC_COMMENT_OPEN_TAG | [ 3]: /**
48+
3 | L03 | C 4 | CC 0 | ( 0) | T_DOC_COMMENT_WHITESPACE | [ 1]: ⸱
49+
4 | L03 | C 5 | CC 0 | ( 0) | T_DOC_COMMENT_STRING | [ 17]: Short Doc block.⸱
50+
5 | L03 | C 22 | CC 0 | ( 0) | T_DOC_COMMENT_CLOSE_TAG | [ 2]: */
51+
6 | L03 | C 24 | CC 0 | ( 0) | T_WHITESPACE | [ 0]:
52+
53+
7 | L04 | C 1 | CC 0 | ( 0) | T_FUNCTION | [ 8]: function
54+
8 | L04 | C 9 | CC 0 | ( 0) | T_WHITESPACE | [ 1]: ⸱
55+
9 | L04 | C 10 | CC 0 | ( 0) | T_STRING | [ 4]: name
56+
10 | L04 | C 14 | CC 0 | ( 0) | T_OPEN_PARENTHESIS | [ 1]: (
57+
11 | L04 | C 15 | CC 0 | ( 1) | T_VARIABLE | [ 6]: $param
58+
12 | L04 | C 21 | CC 0 | ( 0) | T_CLOSE_PARENTHESIS | [ 1]: )
59+
13 | L04 | C 22 | CC 0 | ( 0) | T_WHITESPACE | [ 1]: ⸱
60+
14 | L04 | C 23 | CC 0 | ( 0) | T_OPEN_CURLY_BRACKET | [ 1]: {
61+
15 | L04 | C 24 | CC 1 | ( 0) | T_WHITESPACE | [ 0]:
62+
63+
16 | L05 | C 1 | CC 1 | ( 0) | T_WHITESPACE | [ 4]: ⸱⸱⸱⸱ | Orig: →
64+
17 | L05 | C 5 | CC 1 | ( 0) | T_IF | [ 2]: if
65+
18 | L05 | C 7 | CC 1 | ( 0) | T_WHITESPACE | [ 1]: ⸱
66+
19 | L05 | C 8 | CC 1 | ( 0) | T_OPEN_PARENTHESIS | [ 1]: (
67+
20 | L05 | C 9 | CC 1 | ( 1) | T_VARIABLE | [ 10]: $condition
68+
21 | L05 | C 19 | CC 1 | ( 1) | T_WHITESPACE | [ 1]: ⸱
69+
22 | L05 | C 20 | CC 1 | ( 1) | T_IS_IDENTICAL | [ 3]: ===
70+
23 | L05 | C 23 | CC 1 | ( 1) | T_WHITESPACE | [ 1]: ⸱
71+
24 | L05 | C 24 | CC 1 | ( 1) | T_CONSTANT_ENCAPSED_STRING | [ 7]: 'q⸱⸱⸱a' | Orig: 'q→a'
72+
25 | L05 | C 31 | CC 1 | ( 1) | T_WHITESPACE | [ 1]: ⸱
73+
26 | L05 | C 32 | CC 1 | ( 1) | T_BOOLEAN_AND | [ 2]: &&
74+
27 | L05 | C 34 | CC 1 | ( 1) | T_WHITESPACE | [ 1]: ⸱
75+
28 | L05 | C 35 | CC 1 | ( 1) | T_VARIABLE | [ 6]: $param
76+
29 | L05 | C 41 | CC 1 | ( 1) | T_WHITESPACE | [ 1]: ⸱
77+
30 | L05 | C 42 | CC 1 | ( 1) | T_IS_IDENTICAL | [ 3]: ===
78+
31 | L05 | C 45 | CC 1 | ( 1) | T_WHITESPACE | [ 1]: ⸱
79+
32 | L05 | C 46 | CC 1 | ( 1) | T_FALSE | [ 5]: false
80+
33 | L05 | C 51 | CC 1 | ( 0) | T_CLOSE_PARENTHESIS | [ 1]: )
81+
34 | L05 | C 52 | CC 1 | ( 0) | T_WHITESPACE | [ 1]: ⸱
82+
35 | L05 | C 53 | CC 1 | ( 0) | T_OPEN_CURLY_BRACKET | [ 1]: {
83+
36 | L05 | C 54 | CC 2 | ( 0) | T_WHITESPACE | [ 0]:
84+
85+
37 | L06 | C 1 | CC 2 | ( 0) | T_WHITESPACE | [ 8]: ⸱⸱⸱⸱⸱⸱⸱⸱
86+
38 | L06 | C 9 | CC 2 | ( 0) | T_COMMENT | [ 16]: /* Do something.
87+
88+
39 | L07 | C 1 | CC 2 | ( 0) | T_COMMENT | [ 24]: ⸱⸱⸱⸱⸱⸱⸱⸱⸱*⸱Multi-line⸱*/ | Orig: →→⸱*⸱Multi-line⸱*/
89+
40 | L07 | C 25 | CC 2 | ( 0) | T_WHITESPACE | [ 0]:
90+
91+
41 | L08 | C 1 | CC 2 | ( 0) | T_WHITESPACE | [ 4]: ⸱⸱⸱⸱
92+
42 | L08 | C 5 | CC 1 | ( 0) | T_CLOSE_CURLY_BRACKET | [ 1]: }
93+
43 | L08 | C 6 | CC 1 | ( 0) | T_WHITESPACE | [ 0]:
94+
95+
44 | L09 | C 1 | CC 1 | ( 0) | T_WHITESPACE | [ 4]: ⸱⸱⸱⸱
96+
45 | L09 | C 5 | CC 1 | ( 0) | T_RETURN | [ 6]: return
97+
46 | L09 | C 11 | CC 1 | ( 0) | T_WHITESPACE | [ 1]: ⸱
98+
47 | L09 | C 12 | CC 1 | ( 0) | T_VARIABLE | [ 3]: $cl
99+
48 | L09 | C 15 | CC 1 | ( 0) | T_SEMICOLON | [ 1]: ;
100+
49 | L09 | C 16 | CC 1 | ( 0) | T_WHITESPACE | [ 0]:
101+
102+
50 | L10 | C 1 | CC 0 | ( 0) | T_CLOSE_CURLY_BRACKET | [ 1]: }
103+
51 | L10 | C 2 | CC 0 | ( 0) | T_WHITESPACE | [ 0]:
104+
105+
106+
EOD;
46107

47108
$this->expectOutputString($expected);
48109
$this->setOutputCallback([$this, 'normalizeLineEndings']);

0 commit comments

Comments
 (0)