4 * @covers ClassCollector
6 class ClassCollectorTest
extends PHPUnit\Framework\TestCase
{
8 use MediaWikiCoversValidator
;
10 public static function provideCases() {
17 "namespace Example;\nclass Foo {}\nclass Bar {}",
18 [ 'Example\Foo', 'Example\Bar' ],
21 "class_alias( 'Foo', 'Bar' );",
25 "namespace Example;\nclass Foo {}\nclass_alias( 'Example\Foo', 'Foo' );",
26 [ 'Example\Foo', 'Foo' ],
29 "namespace Example;\nclass Foo {}\nclass_alias( 'Example\Foo', 'Bar' );",
30 [ 'Example\Foo', 'Bar' ],
33 "class_alias( Foo::class, 'Bar' );",
37 // Namespaced class is not currently supported. Must use namespace declaration
38 // earlier in the file.
39 "class_alias( Example\Foo::class, 'Bar' );",
43 "namespace Example;\nclass Foo {}\nclass_alias( Foo::class, 'Bar' );",
44 [ 'Example\Foo', 'Bar' ],
50 * @dataProvider provideCases
52 public function testGetClasses( $code, array $classes, $message = null ) {
53 $cc = new ClassCollector();
54 $this->assertEquals( $classes, $cc->getClasses( "<?php\n$code" ), $message );