X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=tests%2Fphpunit%2Fincludes%2FMessageTest.php;h=cf34b187135fb67b1e1ef6d3fcdacee3f3a4501b;hb=220e11d65165aee4724a043fa0e0f27083f5865a;hp=cf08dbe52666ab7f510f1908b53a8bb90d05edfb;hpb=41624c74bb5c3f9ca8eec81123a90b450c472003;p=lhc%2Fweb%2Fwiklou.git diff --git a/tests/phpunit/includes/MessageTest.php b/tests/phpunit/includes/MessageTest.php index cf08dbe526..cf34b18713 100644 --- a/tests/phpunit/includes/MessageTest.php +++ b/tests/phpunit/includes/MessageTest.php @@ -5,10 +5,10 @@ class MessageTest extends MediaWikiLangTestCase { protected function setUp() { parent::setUp(); - $this->setMwGlobals( array( - 'wgLang' => Language::factory( 'en' ), - 'wgForceUIMsgAsContentMsg' => array(), - ) ); + $this->setMwGlobals( [ + 'wgForceUIMsgAsContentMsg' => [], + ] ); + $this->setUserLang( 'en' ); } /** @@ -21,58 +21,69 @@ class MessageTest extends MediaWikiLangTestCase { $this->assertEquals( $key, $message->getKey() ); $this->assertEquals( $params, $message->getParams() ); $this->assertEquals( $expectedLang, $message->getLanguage() ); + + $messageSpecifier = $this->getMockForAbstractClass( 'MessageSpecifier' ); + $messageSpecifier->expects( $this->any() ) + ->method( 'getKey' )->will( $this->returnValue( $key ) ); + $messageSpecifier->expects( $this->any() ) + ->method( 'getParams' )->will( $this->returnValue( $params ) ); + $message = new Message( $messageSpecifier, [], $language ); + + $this->assertEquals( $key, $message->getKey() ); + $this->assertEquals( $params, $message->getParams() ); + $this->assertEquals( $expectedLang, $message->getLanguage() ); } public static function provideConstructor() { $langDe = Language::factory( 'de' ); $langEn = Language::factory( 'en' ); - return array( - array( $langDe, 'foo', array(), $langDe ), - array( $langDe, 'foo', array( 'bar' ), $langDe ), - array( $langEn, 'foo', array( 'bar' ), null ) - ); + return [ + [ $langDe, 'foo', [], $langDe ], + [ $langDe, 'foo', [ 'bar' ], $langDe ], + [ $langEn, 'foo', [ 'bar' ], null ] + ]; } public static function provideConstructorParams() { - return array( - array( - array(), - array(), - ), - array( - array( 'foo' ), - array( 'foo' ), - ), - array( - array( 'foo', 'bar' ), - array( 'foo', 'bar' ), - ), - array( - array( 'baz' ), - array( array( 'baz' ) ), - ), - array( - array( 'baz', 'foo' ), - array( array( 'baz', 'foo' ) ), - ), - array( - array( 'baz', 'foo' ), - array( array( 'baz', 'foo' ), 'hhh' ), - ), - array( - array( 'baz', 'foo' ), - array( array( 'baz', 'foo' ), 'hhh', array( 'ahahahahha' ) ), - ), - array( - array( 'baz', 'foo' ), - array( array( 'baz', 'foo' ), array( 'ahahahahha' ) ), - ), - array( - array( 'baz' ), - array( array( 'baz' ), array( 'ahahahahha' ) ), - ), - ); + return [ + [ + [], + [], + ], + [ + [ 'foo' ], + [ 'foo' ], + ], + [ + [ 'foo', 'bar' ], + [ 'foo', 'bar' ], + ], + [ + [ 'baz' ], + [ [ 'baz' ] ], + ], + [ + [ 'baz', 'foo' ], + [ [ 'baz', 'foo' ] ], + ], + [ + [ 'baz', 'foo' ], + [ [ 'baz', 'foo' ], 'hhh' ], + ], + [ + [ 'baz', 'foo' ], + [ [ 'baz', 'foo' ], 'hhh', [ 'ahahahahha' ] ], + ], + [ + [ 'baz', 'foo' ], + [ [ 'baz', 'foo' ], [ 'ahahahahha' ] ], + ], + [ + [ 'baz' ], + [ [ 'baz' ], [ 'ahahahahha' ] ], + ], + ]; } /** @@ -83,17 +94,17 @@ class MessageTest extends MediaWikiLangTestCase { public function testConstructorParams( $expected, $args ) { $msg = new Message( 'imasomething' ); - $returned = call_user_func_array( array( $msg, 'params' ), $args ); + $returned = call_user_func_array( [ $msg, 'params' ], $args ); $this->assertSame( $msg, $returned ); $this->assertEquals( $expected, $msg->getParams() ); } public static function provideConstructorLanguage() { - return array( - array( 'foo', array( 'bar' ), 'en' ), - array( 'foo', array( 'bar' ), 'de' ) - ); + return [ + [ 'foo', [ 'bar' ], 'en' ], + [ 'foo', [ 'bar' ], 'de' ] + ]; } /** @@ -109,35 +120,35 @@ class MessageTest extends MediaWikiLangTestCase { } public static function provideKeys() { - return array( - 'string' => array( + return [ + 'string' => [ 'key' => 'mainpage', - 'expected' => array( 'mainpage' ), - ), - 'single' => array( - 'key' => array( 'mainpage' ), - 'expected' => array( 'mainpage' ), - ), - 'multi' => array( - 'key' => array( 'mainpage-foo', 'mainpage-bar', 'mainpage' ), - 'expected' => array( 'mainpage-foo', 'mainpage-bar', 'mainpage' ), - ), - 'empty' => array( - 'key' => array(), + 'expected' => [ 'mainpage' ], + ], + 'single' => [ + 'key' => [ 'mainpage' ], + 'expected' => [ 'mainpage' ], + ], + 'multi' => [ + 'key' => [ 'mainpage-foo', 'mainpage-bar', 'mainpage' ], + 'expected' => [ 'mainpage-foo', 'mainpage-bar', 'mainpage' ], + ], + 'empty' => [ + 'key' => [], 'expected' => null, 'exception' => 'InvalidArgumentException', - ), - 'null' => array( + ], + 'null' => [ 'key' => null, 'expected' => null, 'exception' => 'InvalidArgumentException', - ), - 'bad type' => array( + ], + 'bad type' => [ 'key' => 123, 'expected' => null, 'exception' => 'InvalidArgumentException', - ), - ); + ], + ]; } /** @@ -180,14 +191,14 @@ class MessageTest extends MediaWikiLangTestCase { */ public function testWfMessageParams() { $this->assertEquals( 'Return to $1.', wfMessage( 'returnto' )->text() ); - $this->assertEquals( 'Return to $1.', wfMessage( 'returnto', array() )->text() ); + $this->assertEquals( 'Return to $1.', wfMessage( 'returnto', [] )->text() ); $this->assertEquals( 'You have foo (bar).', wfMessage( 'youhavenewmessages', 'foo', 'bar' )->text() ); $this->assertEquals( 'You have foo (bar).', - wfMessage( 'youhavenewmessages', array( 'foo', 'bar' ) )->text() + wfMessage( 'youhavenewmessages', [ 'foo', 'bar' ] )->text() ); } @@ -196,10 +207,10 @@ class MessageTest extends MediaWikiLangTestCase { */ public function testExists() { $this->assertTrue( wfMessage( 'mainpage' )->exists() ); - $this->assertTrue( wfMessage( 'mainpage' )->params( array() )->exists() ); + $this->assertTrue( wfMessage( 'mainpage' )->params( [] )->exists() ); $this->assertTrue( wfMessage( 'mainpage' )->rawParams( 'foo', 123 )->exists() ); $this->assertFalse( wfMessage( 'i-dont-exist-evar' )->exists() ); - $this->assertFalse( wfMessage( 'i-dont-exist-evar' )->params( array() )->exists() ); + $this->assertFalse( wfMessage( 'i-dont-exist-evar' )->params( [] )->exists() ); $this->assertFalse( wfMessage( 'i-dont-exist-evar' )->rawParams( 'foo', 123 )->exists() ); } @@ -224,11 +235,11 @@ class MessageTest extends MediaWikiLangTestCase { } public static function provideToString() { - return array( - array( 'mainpage', 'Main Page' ), - array( 'i-dont-exist-evar', '' ), - array( 'i-dont-exist-evar', '<i-dont-exist-evar>', 'escaped' ), - ); + return [ + [ 'mainpage', 'Main Page' ], + [ 'i-dont-exist-evar', '' ], + [ 'i-dont-exist-evar', '<i-dont-exist-evar>', 'escaped' ], + ]; } /** @@ -301,7 +312,7 @@ class MessageTest extends MediaWikiLangTestCase { public function testReplaceManyParams() { $msg = new RawMessage( '$1$2$3$4$5$6$7$8$9$10$11$12' ); // One less than above has placeholders - $params = array( 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k' ); + $params = [ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k' ]; $this->assertEquals( 'abcdefghijka2', $msg->params( $params )->plain(), @@ -309,7 +320,7 @@ class MessageTest extends MediaWikiLangTestCase { ); $msg = new RawMessage( 'Params$*' ); - $params = array( 'ab', 'bc', 'cd' ); + $params = [ 'ab', 'bc', 'cd' ]; $this->assertEquals( 'Params: ab, bc, cd', $msg->params( $params )->text() @@ -409,33 +420,33 @@ class MessageTest extends MediaWikiLangTestCase { } public static function providePlaintextParams() { - return array( - array( + return [ + [ 'one $2
foo
[[Bar]] {{Baz}} <', 'plain', - ), + ], - array( + [ // expect 'one $2
foo
[[Bar]] {{Baz}} <', // format 'text', - ), - array( + ], + [ 'one $2 <div>foo</div> [[Bar]] {{Baz}} &lt;', 'escaped', - ), + ], - array( + [ 'one $2 <div>foo</div> [[Bar]] {{Baz}} &lt;', 'parse', - ), + ], - array( + [ "

one $2 <div>foo</div> [[Bar]] {{Baz}} &lt;\n

", 'parseAsBlock', - ), - ); + ], + ]; } /** @@ -451,10 +462,10 @@ class MessageTest extends MediaWikiLangTestCase { $lang = Language::factory( 'en' ); $msg = new RawMessage( '$1 $2' ); - $params = array( + $params = [ 'one $2', '
foo
[[Bar]] {{Baz}} <', - ); + ]; $this->assertEquals( $expect, $msg->inLanguage( $lang )->plaintextParams( $params )->$format(), @@ -463,26 +474,26 @@ class MessageTest extends MediaWikiLangTestCase { } public static function provideParser() { - return array( - array( + return [ + [ "''&'' ", 'plain', - ), + ], - array( + [ "''&'' ", 'text', - ), - array( + ], + [ '& <x>', 'parse', - ), + ], - array( + [ "

& <x>\n

", 'parseAsBlock', - ), - ); + ], + ]; } /** @@ -506,7 +517,7 @@ class MessageTest extends MediaWikiLangTestCase { * @covers Message::inContentLanguage */ public function testInContentLanguage() { - $this->setMwGlobals( 'wgLang', Language::factory( 'fr' ) ); + $this->setUserLang( 'fr' ); // NOTE: make sure internal caching of the message text is reset appropriately $msg = wfMessage( 'mainpage' ); @@ -519,10 +530,10 @@ class MessageTest extends MediaWikiLangTestCase { * @covers Message::inContentLanguage */ public function testInContentLanguageOverride() { - $this->setMwGlobals( array( - 'wgLang' => Language::factory( 'fr' ), - 'wgForceUIMsgAsContentMsg' => array( 'mainpage' ), - ) ); + $this->setMwGlobals( [ + 'wgForceUIMsgAsContentMsg' => [ 'mainpage' ], + ] ); + $this->setUserLang( 'fr' ); // NOTE: make sure internal caching of the message text is reset appropriately. // NOTE: wgForceUIMsgAsContentMsg forces the messages *current* language to be used.