]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blob - tests/phpunit/includes/utils/ClassCollectorTest.php
MediaWiki 1.30.2
[autoinstallsdev/mediawiki.git] / tests / phpunit / includes / utils / ClassCollectorTest.php
1 <?php
2
3 /**
4  * @covers ClassCollector
5  */
6 class ClassCollectorTest extends PHPUnit_Framework_TestCase {
7
8         public static function provideCases() {
9                 return [
10                         [
11                                 "class Foo {}",
12                                 [ 'Foo' ],
13                         ],
14                         [
15                                 "namespace Example;\nclass Foo {}\nclass Bar {}",
16                                 [ 'Example\Foo', 'Example\Bar' ],
17                         ],
18                         [
19                                 "class_alias( 'Foo', 'Bar' );",
20                                 [ 'Bar' ],
21                         ],
22                         [
23                                 "namespace Example;\nclass Foo {}\nclass_alias( 'Example\Foo', 'Foo' );",
24                                 [ 'Example\Foo', 'Foo' ],
25                         ],
26                         [
27                                 "namespace Example;\nclass Foo {}\nclass_alias( 'Example\Foo', 'Bar' );",
28                                 [ 'Example\Foo', 'Bar' ],
29                         ],
30                         [
31                                 "class_alias( Foo::class, 'Bar' );",
32                                 [ 'Bar' ],
33                         ],
34                         [
35                                 "namespace Example;\nclass Foo {}\nclass_alias( Foo::class, 'Bar' );",
36                                 [ 'Example\Foo', 'Bar' ],
37                         ],
38                 ];
39         }
40
41         /**
42          * @dataProvider provideCases
43          */
44         public function testGetClasses( $code, array $classes, $message = null ) {
45                 $cc = new ClassCollector();
46                 $this->assertEquals( $classes, $cc->getClasses( "<?php\n$code" ), $message );
47         }
48 }