Seditio Source
Root |
./othercms/croogo-4.0.7/vendor/squizlabs/php_codesniffer/tests/Core/Tokenizer/StableCommentWhitespaceWinTest.php
<?php
/**
 * Tests the comment tokenization with Windows line endings.
 *
 * Basically the same as the StableCommentWhitespaceTest, but now for
 * Windows line endings.
 *
 * @author    Juliette Reinders Folmer <phpcs_nospam@adviesenzo.nl>
 * @copyright 2020 Squiz Pty Ltd (ABN 77 084 670 600)
 * @license   https://github.com/squizlabs/PHP_CodeSniffer/blob/master/licence.txt BSD Licence
 */

namespace PHP_CodeSniffer\Tests\Core\Tokenizer;

use
PHP_CodeSniffer\Tests\Core\AbstractMethodUnitTest;
use
PHP_CodeSniffer\Util\Tokens;

class
StableCommentWhitespaceWinTest extends AbstractMethodUnitTest
{


   
/**
     * Test that comment tokenization with new lines at the end of the comment is stable.
     *
     * @param string $testMarker     The comment prefacing the test.
     * @param array  $expectedTokens The tokenization expected.
     *
     * @dataProvider dataCommentTokenization
     * @covers       PHP_CodeSniffer\Tokenizers\PHP::tokenize
     *
     * @return void
     */
   
public function testCommentTokenization($testMarker, $expectedTokens)
    {
       
$tokens  = self::$phpcsFile->getTokens();
       
$comment = $this->getTargetToken($testMarker, Tokens::$commentTokens);

        foreach (
$expectedTokens as $key => $tokenInfo) {
           
$this->assertSame(constant($tokenInfo['type']), $tokens[$comment]['code']);
           
$this->assertSame($tokenInfo['type'], $tokens[$comment]['type']);
           
$this->assertSame($tokenInfo['content'], $tokens[$comment]['content']);

            ++
$comment;
        }

    }
//end testCommentTokenization()


    /**
     * Data provider.
     *
     * @see testCommentTokenization()
     *
     * @return array
     */
   
public function dataCommentTokenization()
    {
        return [
            [
               
'/* testSingleLineSlashComment */',
                [
                    [
                       
'type'    => 'T_COMMENT',
                       
'content' => '// Comment
'
,
                    ],
                    [
                       
'type'    => 'T_WHITESPACE',
                       
'content' => '
'
,
                    ],
                ],
            ],
            [
               
'/* testSingleLineSlashCommentTrailing */',
                [
                    [
                       
'type'    => 'T_COMMENT',
                       
'content' => '// Comment
'
,
                    ],
                    [
                       
'type'    => 'T_WHITESPACE',
                       
'content' => '
'
,
                    ],
                ],
            ],
            [
               
'/* testSingleLineSlashAnnotation */',
                [
                    [
                       
'type'    => 'T_PHPCS_DISABLE',
                       
'content' => '// phpcs:disable Stnd.Cat
'
,
                    ],
                    [
                       
'type'    => 'T_WHITESPACE',
                       
'content' => '
'
,
                    ],
                ],
            ],
            [
               
'/* testMultiLineSlashComment */',
                [
                    [
                       
'type'    => 'T_COMMENT',
                       
'content' => '// Comment1
'
,
                    ],
                    [
                       
'type'    => 'T_COMMENT',
                       
'content' => '// Comment2
'
,
                    ],
                    [
                       
'type'    => 'T_COMMENT',
                       
'content' => '// Comment3
'
,
                    ],
                    [
                       
'type'    => 'T_WHITESPACE',
                       
'content' => '
'
,
                    ],
                ],
            ],
            [
               
'/* testMultiLineSlashCommentWithIndent */',
                [
                    [
                       
'type'    => 'T_COMMENT',
                       
'content' => '// Comment1
'
,
                    ],
                    [
                       
'type'    => 'T_WHITESPACE',
                       
'content' => '    ',
                    ],
                    [
                       
'type'    => 'T_COMMENT',
                       
'content' => '// Comment2
'
,
                    ],
                    [
                       
'type'    => 'T_WHITESPACE',
                       
'content' => '    ',
                    ],
                    [
                       
'type'    => 'T_COMMENT',
                       
'content' => '// Comment3
'
,
                    ],
                    [
                       
'type'    => 'T_WHITESPACE',
                       
'content' => '
'
,
                    ],
                ],
            ],
            [
               
'/* testMultiLineSlashCommentWithAnnotationStart */',
                [
                    [
                       
'type'    => 'T_PHPCS_IGNORE',
                       
'content' => '// phpcs:ignore Stnd.Cat
'
,
                    ],
                    [
                       
'type'    => 'T_COMMENT',
                       
'content' => '// Comment2
'
,
                    ],
                    [
                       
'type'    => 'T_COMMENT',
                       
'content' => '// Comment3
'
,
                    ],
                    [
                       
'type'    => 'T_WHITESPACE',
                       
'content' => '
'
,
                    ],
                ],
            ],
            [
               
'/* testMultiLineSlashCommentWithAnnotationMiddle */',
                [
                    [
                       
'type'    => 'T_COMMENT',
                       
'content' => '// Comment1
'
,
                    ],
                    [
                       
'type'    => 'T_PHPCS_IGNORE',
                       
'content' => '// @phpcs:ignore Stnd.Cat
'
,
                    ],
                    [
                       
'type'    => 'T_COMMENT',
                       
'content' => '// Comment3
'
,
                    ],
                    [
                       
'type'    => 'T_WHITESPACE',
                       
'content' => '
'
,
                    ],
                ],
            ],
            [
               
'/* testMultiLineSlashCommentWithAnnotationEnd */',
                [
                    [
                       
'type'    => 'T_COMMENT',
                       
'content' => '// Comment1
'
,
                    ],
                    [
                       
'type'    => 'T_COMMENT',
                       
'content' => '// Comment2
'
,
                    ],
                    [
                       
'type'    => 'T_PHPCS_IGNORE',
                       
'content' => '// phpcs:ignore Stnd.Cat
'
,
                    ],
                    [
                       
'type'    => 'T_WHITESPACE',
                       
'content' => '
'
,
                    ],
                ],
            ],
            [
               
'/* testSingleLineSlashCommentNoNewLineAtEnd */',
                [
                    [
                       
'type'    => 'T_COMMENT',
                       
'content' => '// Slash ',
                    ],
                    [
                       
'type'    => 'T_CLOSE_TAG',
                       
'content' => '?>
'
,
                    ],
                ],
            ],
            [
               
'/* testSingleLineHashComment */',
                [
                    [
                       
'type'    => 'T_COMMENT',
                       
'content' => '# Comment
'
,
                    ],
                    [
                       
'type'    => 'T_WHITESPACE',
                       
'content' => '
'
,
                    ],
                ],
            ],
            [
               
'/* testSingleLineHashCommentTrailing */',
                [
                    [
                       
'type'    => 'T_COMMENT',
                       
'content' => '# Comment
'
,
                    ],
                    [
                       
'type'    => 'T_WHITESPACE',
                       
'content' => '
'
,
                    ],
                ],
            ],
            [
               
'/* testMultiLineHashComment */',
                [
                    [
                       
'type'    => 'T_COMMENT',
                       
'content' => '# Comment1
'
,
                    ],
                    [
                       
'type'    => 'T_COMMENT',
                       
'content' => '# Comment2
'
,
                    ],
                    [
                       
'type'    => 'T_COMMENT',
                       
'content' => '# Comment3
'
,
                    ],
                    [
                       
'type'    => 'T_WHITESPACE',
                       
'content' => '
'
,
                    ],
                ],
            ],
            [
               
'/* testMultiLineHashCommentWithIndent */',
                [
                    [
                       
'type'    => 'T_COMMENT',
                       
'content' => '# Comment1
'
,
                    ],
                    [
                       
'type'    => 'T_WHITESPACE',
                       
'content' => '    ',
                    ],
                    [
                       
'type'    => 'T_COMMENT',
                       
'content' => '# Comment2
'
,
                    ],
                    [
                       
'type'    => 'T_WHITESPACE',
                       
'content' => '    ',
                    ],
                    [
                       
'type'    => 'T_COMMENT',
                       
'content' => '# Comment3
'
,
                    ],
                    [
                       
'type'    => 'T_WHITESPACE',
                       
'content' => '
'
,
                    ],
                ],
            ],
            [
               
'/* testSingleLineHashCommentNoNewLineAtEnd */',
                [
                    [
                       
'type'    => 'T_COMMENT',
                       
'content' => '# Hash ',
                    ],
                    [
                       
'type'    => 'T_CLOSE_TAG',
                       
'content' => '?>
'
,
                    ],
                ],
            ],
            [
               
'/* testCommentAtEndOfFile */',
                [
                    [
                       
'type'    => 'T_COMMENT',
                       
'content' => '/* Comment',
                    ],
                ],
            ],
        ];

    }
//end dataCommentTokenization()


}//end class