249 lines
6.0 KiB
PHP
249 lines
6.0 KiB
PHP
<?php
|
|
/**
|
|
* Tests for the \PHP_CodeSniffer\Files\File:isReference method.
|
|
*
|
|
* @author Greg Sherwood <gsherwood@squiz.net>
|
|
* @copyright 2006-2015 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\File;
|
|
|
|
use PHP_CodeSniffer\Tests\Core\AbstractMethodUnitTest;
|
|
|
|
class IsReferenceTest extends AbstractMethodUnitTest
|
|
{
|
|
|
|
|
|
/**
|
|
* Test correctly identifying whether a "bitwise and" token is a reference or not.
|
|
*
|
|
* @param string $identifier Comment which precedes the test case.
|
|
* @param bool $expected Expected function output.
|
|
*
|
|
* @dataProvider dataIsReference
|
|
*
|
|
* @return void
|
|
*/
|
|
public function testIsReference($identifier, $expected)
|
|
{
|
|
$bitwiseAnd = $this->getTargetToken($identifier, T_BITWISE_AND);
|
|
$result = self::$phpcsFile->isReference($bitwiseAnd);
|
|
$this->assertSame($expected, $result);
|
|
|
|
}//end testIsReference()
|
|
|
|
|
|
/**
|
|
* Data provider for the IsReference test.
|
|
*
|
|
* @see testIsReference()
|
|
*
|
|
* @return array
|
|
*/
|
|
public function dataIsReference()
|
|
{
|
|
return [
|
|
[
|
|
'/* testBitwiseAndA */',
|
|
false,
|
|
],
|
|
[
|
|
'/* testBitwiseAndB */',
|
|
false,
|
|
],
|
|
[
|
|
'/* testBitwiseAndC */',
|
|
false,
|
|
],
|
|
[
|
|
'/* testBitwiseAndD */',
|
|
false,
|
|
],
|
|
[
|
|
'/* testBitwiseAndE */',
|
|
false,
|
|
],
|
|
[
|
|
'/* testBitwiseAndF */',
|
|
false,
|
|
],
|
|
[
|
|
'/* testBitwiseAndG */',
|
|
false,
|
|
],
|
|
[
|
|
'/* testBitwiseAndH */',
|
|
false,
|
|
],
|
|
[
|
|
'/* testBitwiseAndI */',
|
|
false,
|
|
],
|
|
[
|
|
'/* testFunctionReturnByReference */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testFunctionPassByReferenceA */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testFunctionPassByReferenceB */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testFunctionPassByReferenceC */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testFunctionPassByReferenceD */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testFunctionPassByReferenceE */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testFunctionPassByReferenceF */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testFunctionPassByReferenceG */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testForeachValueByReference */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testForeachKeyByReference */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testArrayValueByReferenceA */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testArrayValueByReferenceB */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testArrayValueByReferenceC */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testArrayValueByReferenceD */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testArrayValueByReferenceE */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testArrayValueByReferenceF */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testArrayValueByReferenceG */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testArrayValueByReferenceH */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testAssignByReferenceA */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testAssignByReferenceB */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testAssignByReferenceC */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testAssignByReferenceD */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testAssignByReferenceE */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testPassByReferenceA */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testPassByReferenceB */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testPassByReferenceC */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testPassByReferenceD */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testPassByReferenceE */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testPassByReferenceF */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testPassByReferenceG */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testPassByReferenceH */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testPassByReferenceI */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testPassByReferenceJ */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testNewByReferenceA */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testNewByReferenceB */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testUseByReference */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testArrowFunctionReturnByReference */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testArrowFunctionPassByReferenceA */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testArrowFunctionPassByReferenceB */',
|
|
true,
|
|
],
|
|
[
|
|
'/* testClosureReturnByReference */',
|
|
true,
|
|
],
|
|
];
|
|
|
|
}//end dataIsReference()
|
|
|
|
|
|
}//end class
|