X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=tests%2Fphpunit%2Fincludes%2FHooksTest.php;h=74d4b09131f7d67c888dc57985fee81e01650772;hb=90c13419f0899218ac5437e6102658dd6e73b63f;hp=81dd48704ae1de5a52147837c038e4d94fcbfc93;hpb=760b1e8c3baa03f27900d227faba53842524023f;p=lhc%2Fweb%2Fwiklou.git diff --git a/tests/phpunit/includes/HooksTest.php b/tests/phpunit/includes/HooksTest.php index 81dd48704a..74d4b09131 100644 --- a/tests/phpunit/includes/HooksTest.php +++ b/tests/phpunit/includes/HooksTest.php @@ -13,11 +13,26 @@ class HooksTest extends MediaWikiTestCase { $i = new NothingClass(); return array( - array( 'Object and method', array( $i, 'someNonStatic' ), 'changed-nonstatic', 'changed-nonstatic' ), + array( + 'Object and method', + array( $i, 'someNonStatic' ), + 'changed-nonstatic', + 'changed-nonstatic' + ), array( 'Object and no method', array( $i ), 'changed-onevent', 'original' ), - array( 'Object and method with data', array( $i, 'someNonStaticWithData', 'data' ), 'data', 'original' ), + array( + 'Object and method with data', + array( $i, 'someNonStaticWithData', 'data' ), + 'data', + 'original' + ), array( 'Object and static method', array( $i, 'someStatic' ), 'changed-static', 'original' ), - array( 'Class::method static call', array( 'NothingClass::someStatic' ), 'changed-static', 'original' ), + array( + 'Class::method static call', + array( 'NothingClass::someStatic' ), + 'changed-static', + 'original' + ), array( 'Global function', array( 'NothingFunction' ), 'changed-func', 'original' ), array( 'Global function with data', array( 'NothingFunctionData', 'data' ), 'data', 'original' ), array( 'Closure', array( function ( &$foo, $bar ) { @@ -35,6 +50,7 @@ class HooksTest extends MediaWikiTestCase { /** * @dataProvider provideHooks + * @covers ::wfRunHooks */ public function testOldStyleHooks( $msg, array $hook, $expectedFoo, $expectedBar ) { global $wgHooks; @@ -49,6 +65,8 @@ class HooksTest extends MediaWikiTestCase { /** * @dataProvider provideHooks + * @covers Hooks::register + * @covers Hooks::run */ public function testNewStyleHooks( $msg, $hook, $expectedFoo, $expectedBar ) { $foo = $bar = 'original'; @@ -60,6 +78,12 @@ class HooksTest extends MediaWikiTestCase { $this->assertSame( $expectedBar, $bar, $msg ); } + /** + * @covers Hooks::isRegistered + * @covers Hooks::register + * @covers Hooks::getHandlers + * @covers Hooks::run + */ public function testNewStyleHookInteraction() { global $wgHooks; @@ -67,27 +91,46 @@ class HooksTest extends MediaWikiTestCase { $b = new NothingClass(); $wgHooks['MediaWikiHooksTest001'][] = $a; - $this->assertTrue( Hooks::isRegistered( 'MediaWikiHooksTest001' ), 'Hook registered via $wgHooks should be noticed by Hooks::isRegistered' ); + $this->assertTrue( + Hooks::isRegistered( 'MediaWikiHooksTest001' ), + 'Hook registered via $wgHooks should be noticed by Hooks::isRegistered' + ); Hooks::register( 'MediaWikiHooksTest001', $b ); - $this->assertEquals( 2, count( Hooks::getHandlers( 'MediaWikiHooksTest001' ) ), 'Hooks::getHandlers() should return hooks registered via wgHooks as well as Hooks::register' ); + $this->assertEquals( + 2, + count( Hooks::getHandlers( 'MediaWikiHooksTest001' ) ), + 'Hooks::getHandlers() should return hooks registered via wgHooks as well as Hooks::register' + ); $foo = 'quux'; $bar = 'qaax'; Hooks::run( 'MediaWikiHooksTest001', array( &$foo, &$bar ) ); - $this->assertEquals( 1, $a->calls, 'Hooks::run() should run hooks registered via wgHooks as well as Hooks::register' ); - $this->assertEquals( 1, $b->calls, 'Hooks::run() should run hooks registered via wgHooks as well as Hooks::register' ); + $this->assertEquals( + 1, + $a->calls, + 'Hooks::run() should run hooks registered via wgHooks as well as Hooks::register' + ); + $this->assertEquals( + 1, + $b->calls, + 'Hooks::run() should run hooks registered via wgHooks as well as Hooks::register' + ); } /** * @expectedException MWException + * @covers Hooks::run */ public function testUncallableFunction() { Hooks::register( 'MediaWikiHooksTest001', 'ThisFunctionDoesntExist' ); Hooks::run( 'MediaWikiHooksTest001', array() ); } + /** + * @covers Hooks::run + */ public function testFalseReturn() { Hooks::register( 'MediaWikiHooksTest001', function ( &$foo ) { return false; @@ -104,6 +147,7 @@ class HooksTest extends MediaWikiTestCase { /** * @expectedException FatalError + * @covers Hooks::run */ public function testFatalError() { Hooks::register( 'MediaWikiHooksTest001', function () {