77use PHP_CodeSniffer \Files \File ;
88use PHP_CodeSniffer \Sniffs \Sniff ;
99use PHP_CodeSniffer \Util \Tokens ;
10- use SymfonyCustom \Sniffs \FixerHelper ;
10+ use SymfonyCustom \Helpers \FixerHelper ;
1111
1212/**
1313 * A test to ensure that arrays conform to the array coding standard.
@@ -158,56 +158,40 @@ public function processSingleLineArray(File $phpcsFile, int $stackPtr, int $star
158158 $ nextArrow = $ phpcsFile ->findNext (T_DOUBLE_ARROW , $ start + 1 , $ end );
159159 while (false !== $ nextArrow ) {
160160 if (T_WHITESPACE !== $ tokens [$ nextArrow - 1 ]['code ' ]) {
161+ $ spaceBefore = 0 ;
162+ } else {
163+ $ spaceBefore = $ tokens [$ nextArrow - 1 ]['length ' ];
164+ }
165+
166+ if (1 !== $ spaceBefore ) {
161167 $ fix = $ phpcsFile ->addFixableError (
162- 'Expected 1 space between "%s" and double arrow; 0 found ' ,
168+ 'Expected 1 space between "%s" and double arrow; %s found ' ,
163169 $ nextArrow ,
164- 'NoSpaceBeforeDoubleArrow ' ,
165- [$ tokens [$ nextArrow - 1 ]['content ' ]]
170+ 'SpaceAfterDoubleArrow ' ,
171+ [$ tokens [$ nextArrow - 1 ]['content ' ], $ spaceBefore ]
166172 );
167173
168174 if ($ fix ) {
169- $ phpcsFile ->fixer ->addContentBefore ($ nextArrow , ' ' );
170- }
171- } else {
172- $ spaceLength = $ tokens [$ nextArrow - 1 ]['length ' ];
173- if (1 !== $ spaceLength ) {
174- $ fix = $ phpcsFile ->addFixableError (
175- 'Expected 1 space between "%s" and double arrow; %s found ' ,
176- $ nextArrow ,
177- 'SpaceBeforeDoubleArrow ' ,
178- [$ tokens [$ nextArrow - 2 ]['content ' ], $ spaceLength ]
179- );
180-
181- if ($ fix ) {
182- $ phpcsFile ->fixer ->replaceToken ($ nextArrow - 1 , ' ' );
183- }
175+ FixerHelper::fixWhitespaceBefore ($ phpcsFile , $ nextArrow , 1 , $ spaceBefore );
184176 }
185177 }
186178
187179 if (T_WHITESPACE !== $ tokens [$ nextArrow + 1 ]['code ' ]) {
180+ $ spaceAfter = 0 ;
181+ } else {
182+ $ spaceAfter = $ tokens [$ nextArrow + 1 ]['length ' ];
183+ }
184+
185+ if (1 !== $ spaceAfter ) {
188186 $ fix = $ phpcsFile ->addFixableError (
189- 'Expected 1 space between double arrow and "%s"; 0 found ' ,
187+ 'Expected 1 space between double arrow and "%s"; %s found ' ,
190188 $ nextArrow ,
191- 'NoSpaceAfterDoubleArrow ' ,
192- [$ tokens [$ nextArrow + 1 ]['content ' ]]
189+ 'SpaceAfterDoubleArrow ' ,
190+ [$ tokens [$ nextArrow + 1 ]['content ' ], $ spaceAfter ]
193191 );
194192
195193 if ($ fix ) {
196- $ phpcsFile ->fixer ->addContent ($ nextArrow , ' ' );
197- }
198- } else {
199- $ spaceLength = $ tokens [$ nextArrow + 1 ]['length ' ];
200- if (1 !== $ spaceLength ) {
201- $ fix = $ phpcsFile ->addFixableError (
202- 'Expected 1 space between double arrow and "%s"; %s found ' ,
203- $ nextArrow ,
204- 'SpaceAfterDoubleArrow ' ,
205- [$ tokens [$ nextArrow + 2 ]['content ' ], $ spaceLength ]
206- );
207-
208- if ($ fix ) {
209- $ phpcsFile ->fixer ->replaceToken ($ nextArrow + 1 , ' ' );
210- }
194+ FixerHelper::fixWhitespaceAfter ($ phpcsFile , $ nextArrow , 1 , $ spaceAfter );
211195 }
212196 }
213197
@@ -218,29 +202,21 @@ public function processSingleLineArray(File $phpcsFile, int $stackPtr, int $star
218202 // We have a multiple value array
219203 foreach ($ commas as $ comma ) {
220204 if (T_WHITESPACE !== $ tokens [$ comma + 1 ]['code ' ]) {
205+ $ spaceAfter = 0 ;
206+ } else {
207+ $ spaceAfter = $ tokens [$ comma + 1 ]['length ' ];
208+ }
209+
210+ if (1 !== $ spaceAfter ) {
221211 $ fix = $ phpcsFile ->addFixableError (
222- 'Expected 1 space between comma and "%s"; 0 found ' ,
212+ 'Expected 1 space between comma and "%s"; %s found ' ,
223213 $ comma ,
224- 'NoSpaceAfterComma ' ,
225- [$ tokens [$ comma + 1 ]['content ' ]]
214+ 'SpaceAfterComma ' ,
215+ [$ tokens [$ comma + 1 ]['content ' ], $ spaceAfter ]
226216 );
227217
228218 if ($ fix ) {
229- $ phpcsFile ->fixer ->addContent ($ comma , ' ' );
230- }
231- } else {
232- $ spaceLength = $ tokens [$ comma + 1 ]['length ' ];
233- if (1 !== $ spaceLength ) {
234- $ fix = $ phpcsFile ->addFixableError (
235- 'Expected 1 space between comma and "%s"; %s found ' ,
236- $ comma ,
237- 'SpaceAfterComma ' ,
238- [$ tokens [$ comma + 2 ]['content ' ], $ spaceLength ]
239- );
240-
241- if ($ fix ) {
242- $ phpcsFile ->fixer ->replaceToken ($ comma + 1 , ' ' );
243- }
219+ FixerHelper::fixWhitespaceAfter ($ phpcsFile , $ comma , 1 , $ spaceAfter );
244220 }
245221 }
246222
0 commit comments