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