summaryrefslogtreecommitdiff
path: root/tests/phpunit/includes/GlobalFunctions/wfGetCallerTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/phpunit/includes/GlobalFunctions/wfGetCallerTest.php')
-rw-r--r--tests/phpunit/includes/GlobalFunctions/wfGetCallerTest.php35
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/phpunit/includes/GlobalFunctions/wfGetCallerTest.php b/tests/phpunit/includes/GlobalFunctions/wfGetCallerTest.php
new file mode 100644
index 00000000..58cf6b95
--- /dev/null
+++ b/tests/phpunit/includes/GlobalFunctions/wfGetCallerTest.php
@@ -0,0 +1,35 @@
+<?php
+
+class WfGetCallerTest extends MediaWikiTestCase {
+
+ function testZero() {
+ $this->assertEquals( __METHOD__, wfGetCaller( 1 ) );
+ }
+
+ function callerOne() {
+ return wfGetCaller();
+ }
+
+ function testOne() {
+ $this->assertEquals( 'WfGetCallerTest::testOne', self::callerOne() );
+ }
+
+ function intermediateFunction( $level = 2, $n = 0 ) {
+ if ( $n > 0 ) {
+ return self::intermediateFunction( $level, $n - 1 );
+ }
+ return wfGetCaller( $level );
+ }
+
+ function testTwo() {
+ $this->assertEquals( 'WfGetCallerTest::testTwo', self::intermediateFunction() );
+ }
+
+ function testN() {
+ $this->assertEquals( 'WfGetCallerTest::testN', self::intermediateFunction( 2, 0 ) );
+ $this->assertEquals( 'WfGetCallerTest::intermediateFunction', self::intermediateFunction( 1, 0 ) );
+
+ for ( $i = 0; $i < 10; $i++ )
+ $this->assertEquals( 'WfGetCallerTest::intermediateFunction', self::intermediateFunction( $i + 1, $i ) );
+ }
+}