| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | 
							- <?php
 
- /**
 
-  * Copyright © Magento, Inc. All rights reserved.
 
-  * See COPYING.txt for license details.
 
-  */
 
- namespace Magento\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.0/coding-standards/code-standard-less.html#and-units
 
-  * @link https://devdocs.magento.com/guides/v2.0/coding-standards/code-standard-less.html#floating-values
 
-  */
 
- class ZeroUnitsSniff implements Sniff
 
- {
 
-     const CSS_PROPERTY_UNIT_PX = 'px';
 
-     const CSS_PROPERTY_UNIT_EM = 'em';
 
-     const CSS_PROPERTY_UNIT_REM = 'rem';
 
-     /**
 
-      * List of available CSS Property units
 
-      *
 
-      * @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');
 
-         }
 
-     }
 
- }
 
 
  |