bdb3044a6235c8ff51ac5d53ad8cbf9fbec2219c
[lhc/web/wiklou.git] / tests / phpunit / includes / GlobalFunctions / wfGetCallerTest.php
1 <?php
2
3 /**
4 * @covers ::wfGetCaller
5 */
6 class WfGetCallerTest extends MediaWikiTestCase {
7 public function testZero() {
8 $this->assertEquals( __METHOD__, wfGetCaller( 1 ) );
9 }
10
11 function callerOne() {
12 return wfGetCaller();
13 }
14
15 public function testOne() {
16 $this->assertEquals( 'WfGetCallerTest::testOne', self::callerOne() );
17 }
18
19 function intermediateFunction( $level = 2, $n = 0 ) {
20 if ( $n > 0 ) {
21 return self::intermediateFunction( $level, $n - 1 );
22 }
23
24 return wfGetCaller( $level );
25 }
26
27 public function testTwo() {
28 $this->assertEquals( 'WfGetCallerTest::testTwo', self::intermediateFunction() );
29 }
30
31 public function testN() {
32 $this->assertEquals( 'WfGetCallerTest::testN', self::intermediateFunction( 2, 0 ) );
33 $this->assertEquals(
34 'WfGetCallerTest::intermediateFunction',
35 self::intermediateFunction( 1, 0 )
36 );
37
38 for ( $i = 0; $i < 10; $i++ ) {
39 $this->assertEquals(
40 'WfGetCallerTest::intermediateFunction',
41 self::intermediateFunction( $i + 1, $i )
42 );
43 }
44 }
45 }