8 use PHP_CodeSniffer\Sniffs\Sniff;
9 use PHP_CodeSniffer\Files\File;
10 use PHP_CodeSniffer\Util\Tokens;
32 public function register()
40 public function process(File $phpcsFile, $stackPtr)
42 $tokens = $phpcsFile->getTokens();
44 if ($this->needValidateSpaces($phpcsFile, $stackPtr,
$tokens)) {
45 $this->validateSpaces($phpcsFile, $stackPtr,
$tokens);
58 private function needValidateSpaces(File $phpcsFile, $stackPtr,
$tokens)
60 $nextSemicolon = $phpcsFile->findNext(T_SEMICOLON, $stackPtr);
62 if (
false === $nextSemicolon
63 || (
$tokens[$nextSemicolon][
'line'] !==
$tokens[$stackPtr][
'line'])
69 $prev = $phpcsFile->findPrevious(Tokens::$emptyTokens, ($stackPtr - 1),
null,
true);
70 if (
$tokens[$prev][
'code'] !== T_STYLE) {
75 if (
$tokens[$prev][
'content'] ===
'progid') {
92 private function validateSpaces(File $phpcsFile, $stackPtr, array
$tokens)
94 if (T_WHITESPACE ===
$tokens[($stackPtr - 1)][
'code']) {
95 $phpcsFile->addError(
'There must be no space before a colon in a style definition', $stackPtr,
'Before');
98 if (T_WHITESPACE !==
$tokens[($stackPtr + 1)][
'code']) {
99 $phpcsFile->addError(
'Expected 1 space after colon in style definition; 0 found', $stackPtr,
'NoneAfter');
102 if (
false === strpos(
$content, $phpcsFile->eolChar)) {
105 $error =
'Expected 1 space after colon in style definition; %s found';
106 $phpcsFile->addError($error, $stackPtr,
'After');
109 $error =
'Expected 1 space after colon in style definition; newline found';
110 $phpcsFile->addError($error, $stackPtr,
'AfterNewline');
process(File $phpcsFile, $stackPtr)