![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/magento-coding-standard/Magento2/Sniffs/Less/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento2\Sniffs\Less; use PHP_CodeSniffer\Sniffs\Sniff; use PHP_CodeSniffer\Files\File; /** * Class ZeroUnitsSniff * * Ensure that units for 0 is not specified * Omit leading "0"s in values, use dot instead * * @link https://devdocs.magento.com/guides/v2.4/coding-standards/code-standard-less.html#0-and-units * @link https://devdocs.magento.com/guides/v2.4/coding-standards/code-standard-less.html#floating-values */ class ZeroUnitsSniff implements Sniff { private const CSS_PROPERTY_UNIT_PX = 'px'; private const CSS_PROPERTY_UNIT_EM = 'em'; private const CSS_PROPERTY_UNIT_REM = 'rem'; /** * @var array */ private $units = [ self::CSS_PROPERTY_UNIT_PX, self::CSS_PROPERTY_UNIT_EM, self::CSS_PROPERTY_UNIT_REM, ]; /** * A list of tokenizers this sniff supports. * * @var array */ public $supportedTokenizers = [TokenizerSymbolsInterface::TOKENIZER_CSS]; /** * @inheritdoc */ public function register() { return [T_LNUMBER, T_DNUMBER]; } /** * @inheritdoc */ public function process(File $phpcsFile, $stackPtr) { $tokens = $phpcsFile->getTokens(); $tokenCode = $tokens[$stackPtr]['code']; $tokenContent = $tokens[$stackPtr]['content']; $nextToken = $tokens[$stackPtr + 1]; if (T_LNUMBER === $tokenCode && "0" === $tokenContent && T_STRING === $nextToken['code'] && in_array($nextToken['content'], $this->units) ) { $phpcsFile->addError('Units specified for "0" value', $stackPtr, 'ZeroUnitFound'); } if ((T_DNUMBER === $tokenCode) && 0 === strpos($tokenContent, "0") && ((float)$tokenContent < 1) ) { $phpcsFile->addError('Values starts from "0"', $stackPtr, 'ZeroUnitFound'); } } }