wiki.techinc.nl/tests/phpunit/includes/utils/ClassCollectorTest.php
Timo Tijhof 516f2700e0 AutoloadGenerator: Add support for class_alias()
Blob, Field, DatabaseBase are now auto-detected.

Change-Id: Ib8fae2ec3fbb3f5e4aca7965f81631c5f0485ea1
2017-02-22 21:22:41 +00:00

48 lines
1 KiB
PHP

<?php
/**
* @covers ClassCollector
*/
class ClassCollectorTest extends PHPUnit_Framework_TestCase {
public static function provideCases() {
return [
[
"class Foo {}",
[ 'Foo' ],
],
[
"namespace Example;\nclass Foo {}\nclass Bar {}",
[ 'Example\Foo', 'Example\Bar' ],
],
[
"class_alias( 'Foo', 'Bar' );",
[ 'Bar' ],
],
[
"namespace Example;\nclass Foo {}\nclass_alias( 'Example\Foo', 'Foo' );",
[ 'Example\Foo', 'Foo' ],
],
[
"namespace Example;\nclass Foo {}\nclass_alias( 'Example\Foo', 'Bar' );",
[ 'Example\Foo', 'Bar' ],
],
[
"class_alias( Foo::class, 'Bar' );",
[ 'Bar' ],
],
[
"namespace Example;\nclass Foo {}\nclass_alias( Foo::class, 'Bar' );",
[ 'Example\Foo', 'Bar' ],
],
];
}
/**
* @dataProvider provideCases
*/
public function testGetClasses( $code, array $classes, $message = null ) {
$cc = new ClassCollector();
$this->assertEquals( $classes, $cc->getClasses( "<?php\n$code" ), $message );
}
}