94 lines
2.5 KiB
PHP
94 lines
2.5 KiB
PHP
<?php
|
|
/**
|
|
* Tests for the \PHP_CodeSniffer\Files\File:findExtendedClassName 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 FindExtendedClassNameTest extends AbstractMethodUnitTest
|
|
{
|
|
|
|
|
|
/**
|
|
* Test retrieving the name of the class being extended by another class
|
|
* (or interface).
|
|
*
|
|
* @param string $identifier Comment which precedes the test case.
|
|
* @param bool $expected Expected function output.
|
|
*
|
|
* @dataProvider dataExtendedClass
|
|
*
|
|
* @return void
|
|
*/
|
|
public function testFindExtendedClassName($identifier, $expected)
|
|
{
|
|
$OOToken = $this->getTargetToken($identifier, [T_CLASS, T_ANON_CLASS, T_INTERFACE]);
|
|
$result = self::$phpcsFile->findExtendedClassName($OOToken);
|
|
$this->assertSame($expected, $result);
|
|
|
|
}//end testFindExtendedClassName()
|
|
|
|
|
|
/**
|
|
* Data provider for the FindExtendedClassName test.
|
|
*
|
|
* @see testFindExtendedClassName()
|
|
*
|
|
* @return array
|
|
*/
|
|
public function dataExtendedClass()
|
|
{
|
|
return [
|
|
[
|
|
'/* testExtendedClass */',
|
|
'testFECNClass',
|
|
],
|
|
[
|
|
'/* testNamespacedClass */',
|
|
'\PHP_CodeSniffer\Tests\Core\File\testFECNClass',
|
|
],
|
|
[
|
|
'/* testNonExtendedClass */',
|
|
false,
|
|
],
|
|
[
|
|
'/* testInterface */',
|
|
false,
|
|
],
|
|
[
|
|
'/* testInterfaceThatExtendsInterface */',
|
|
'testFECNInterface',
|
|
],
|
|
[
|
|
'/* testInterfaceThatExtendsFQCNInterface */',
|
|
'\PHP_CodeSniffer\Tests\Core\File\testFECNInterface',
|
|
],
|
|
[
|
|
'/* testNestedExtendedClass */',
|
|
false,
|
|
],
|
|
[
|
|
'/* testNestedExtendedAnonClass */',
|
|
'testFECNAnonClass',
|
|
],
|
|
[
|
|
'/* testClassThatExtendsAndImplements */',
|
|
'testFECNClass',
|
|
],
|
|
[
|
|
'/* testClassThatImplementsAndExtends */',
|
|
'testFECNClass',
|
|
],
|
|
];
|
|
|
|
}//end dataExtendedClass()
|
|
|
|
|
|
}//end class
|