2012-06-05 22:58:54 +00:00
|
|
|
<?php
|
|
|
|
|
|
2013-10-24 09:53:24 +00:00
|
|
|
/**
|
|
|
|
|
* @covers ::wfGetCaller
|
|
|
|
|
*/
|
2013-02-21 23:58:19 +00:00
|
|
|
class WfGetCallerTest extends MediaWikiTestCase {
|
2012-06-05 22:58:54 +00:00
|
|
|
|
2013-10-23 22:51:31 +00:00
|
|
|
public function testZero() {
|
2012-06-05 22:58:54 +00:00
|
|
|
$this->assertEquals( __METHOD__, wfGetCaller( 1 ) );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function callerOne() {
|
|
|
|
|
return wfGetCaller();
|
|
|
|
|
}
|
|
|
|
|
|
2013-10-23 22:51:31 +00:00
|
|
|
public function testOne() {
|
2013-02-21 23:58:19 +00:00
|
|
|
$this->assertEquals( 'WfGetCallerTest::testOne', self::callerOne() );
|
2012-06-05 22:58:54 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function intermediateFunction( $level = 2, $n = 0 ) {
|
2013-02-14 11:22:13 +00:00
|
|
|
if ( $n > 0 ) {
|
2012-06-05 22:58:54 +00:00
|
|
|
return self::intermediateFunction( $level, $n - 1 );
|
2013-02-14 11:22:13 +00:00
|
|
|
}
|
2013-04-26 12:00:22 +00:00
|
|
|
|
2012-06-05 22:58:54 +00:00
|
|
|
return wfGetCaller( $level );
|
|
|
|
|
}
|
|
|
|
|
|
2013-10-23 22:51:31 +00:00
|
|
|
public function testTwo() {
|
2013-02-21 23:58:19 +00:00
|
|
|
$this->assertEquals( 'WfGetCallerTest::testTwo', self::intermediateFunction() );
|
2012-06-05 22:58:54 +00:00
|
|
|
}
|
|
|
|
|
|
2013-10-23 22:51:31 +00:00
|
|
|
public function testN() {
|
2013-02-21 23:58:19 +00:00
|
|
|
$this->assertEquals( 'WfGetCallerTest::testN', self::intermediateFunction( 2, 0 ) );
|
|
|
|
|
$this->assertEquals( 'WfGetCallerTest::intermediateFunction', self::intermediateFunction( 1, 0 ) );
|
2012-06-05 22:58:54 +00:00
|
|
|
|
2013-04-17 18:11:34 +00:00
|
|
|
for ( $i = 0; $i < 10; $i++ ) {
|
2013-02-21 23:58:19 +00:00
|
|
|
$this->assertEquals( 'WfGetCallerTest::intermediateFunction', self::intermediateFunction( $i + 1, $i ) );
|
2013-04-17 18:11:34 +00:00
|
|
|
}
|
2012-06-05 22:58:54 +00:00
|
|
|
}
|
|
|
|
|
}
|