Seditio Source
Root |
./othercms/croogo-4.0.7/vendor/squizlabs/php_codesniffer/tests/Core/Tokenizer/ShortArrayTest.php
<?php
/**
 * Tests the conversion of square bracket tokens to short array tokens.
 *
 * @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;

class
ShortArrayTest extends AbstractMethodUnitTest
{


   
/**
     * Test that real square brackets are still tokenized as square brackets.
     *
     * @param string $testMarker The comment which prefaces the target token in the test file.
     *
     * @dataProvider dataSquareBrackets
     * @covers       PHP_CodeSniffer\Tokenizers\PHP::processAdditional
     *
     * @return void
     */
   
public function testSquareBrackets($testMarker)
    {
       
$tokens = self::$phpcsFile->getTokens();

       
$opener = $this->getTargetToken($testMarker, [T_OPEN_SQUARE_BRACKET, T_OPEN_SHORT_ARRAY]);
       
$this->assertSame(T_OPEN_SQUARE_BRACKET, $tokens[$opener]['code']);
       
$this->assertSame('T_OPEN_SQUARE_BRACKET', $tokens[$opener]['type']);

        if (isset(
$tokens[$opener]['bracket_closer']) === true) {
           
$closer = $tokens[$opener]['bracket_closer'];
           
$this->assertSame(T_CLOSE_SQUARE_BRACKET, $tokens[$closer]['code']);
           
$this->assertSame('T_CLOSE_SQUARE_BRACKET', $tokens[$closer]['type']);
        }

    }
//end testSquareBrackets()


    /**
     * Data provider.
     *
     * @see testSquareBrackets()
     *
     * @return array
     */
   
public function dataSquareBrackets()
    {
        return [
            [
'/* testArrayAccess1 */'],
            [
'/* testArrayAccess2 */'],
            [
'/* testArrayAssignment */'],
            [
'/* testFunctionCallDereferencing */'],
            [
'/* testMethodCallDereferencing */'],
            [
'/* testStaticMethodCallDereferencing */'],
            [
'/* testPropertyDereferencing */'],
            [
'/* testPropertyDereferencingWithInaccessibleName */'],
            [
'/* testStaticPropertyDereferencing */'],
            [
'/* testStringDereferencing */'],
            [
'/* testStringDereferencingDoubleQuoted */'],
            [
'/* testConstantDereferencing */'],
            [
'/* testClassConstantDereferencing */'],
            [
'/* testMagicConstantDereferencing */'],
            [
'/* testArrayAccessCurlyBraces */'],
            [
'/* testArrayLiteralDereferencing */'],
            [
'/* testShortArrayLiteralDereferencing */'],
            [
'/* testClassMemberDereferencingOnInstantiation1 */'],
            [
'/* testClassMemberDereferencingOnInstantiation2 */'],
            [
'/* testClassMemberDereferencingOnClone */'],
            [
'/* testNullsafeMethodCallDereferencing */'],
            [
'/* testLiveCoding */'],
        ];

    }
//end dataSquareBrackets()


    /**
     * Test that short arrays and short lists are still tokenized as short arrays.
     *
     * @param string $testMarker The comment which prefaces the target token in the test file.
     *
     * @dataProvider dataShortArrays
     * @covers       PHP_CodeSniffer\Tokenizers\PHP::processAdditional
     *
     * @return void
     */
   
public function testShortArrays($testMarker)
    {
       
$tokens = self::$phpcsFile->getTokens();

       
$opener = $this->getTargetToken($testMarker, [T_OPEN_SQUARE_BRACKET, T_OPEN_SHORT_ARRAY]);
       
$this->assertSame(T_OPEN_SHORT_ARRAY, $tokens[$opener]['code']);
       
$this->assertSame('T_OPEN_SHORT_ARRAY', $tokens[$opener]['type']);

        if (isset(
$tokens[$opener]['bracket_closer']) === true) {
           
$closer = $tokens[$opener]['bracket_closer'];
           
$this->assertSame(T_CLOSE_SHORT_ARRAY, $tokens[$closer]['code']);
           
$this->assertSame('T_CLOSE_SHORT_ARRAY', $tokens[$closer]['type']);
        }

    }
//end testShortArrays()


    /**
     * Data provider.
     *
     * @see testShortArrays()
     *
     * @return array
     */
   
public function dataShortArrays()
    {
        return [
            [
'/* testShortArrayDeclarationEmpty */'],
            [
'/* testShortArrayDeclarationWithOneValue */'],
            [
'/* testShortArrayDeclarationWithMultipleValues */'],
            [
'/* testShortArrayDeclarationWithDereferencing */'],
            [
'/* testShortListDeclaration */'],
            [
'/* testNestedListDeclaration */'],
            [
'/* testArrayWithinFunctionCall */'],
        ];

    }
//end dataShortArrays()


}//end class