parent::setUp();
$this->setMwGlobals( [
- 'wgLang' => Language::factory( 'en' ),
'wgForceUIMsgAsContentMsg' => [],
] );
+ $this->setUserLang( 'en' );
}
/**
* @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' );
*/
public function testInContentLanguageOverride() {
$this->setMwGlobals( [
- 'wgLang' => Language::factory( 'fr' ),
'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.
$msg = unserialize( serialize( $msg ) );
$this->assertEquals( 'Hauptseite', $msg->plain() );
}
+
+ /**
+ * @covers Message::newFromSpecifier
+ * @dataProvider provideNewFromSpecifier
+ */
+ public function testNewFromSpecifier( $value, $expectedText ) {
+ $message = Message::newFromSpecifier( $value );
+ $this->assertInstanceOf( Message::class, $message );
+ $this->assertSame( $expectedText, $message->text() );
+ }
+
+ public function provideNewFromSpecifier() {
+ $messageSpecifier = $this->getMockForAbstractClass( MessageSpecifier::class );
+ $messageSpecifier->expects( $this->any() )->method( 'getKey' )->willReturn( 'mainpage' );
+ $messageSpecifier->expects( $this->any() )->method( 'getParams' )->willReturn( [] );
+
+ return [
+ 'string' => [ 'mainpage', 'Main Page' ],
+ 'array' => [ [ 'youhavenewmessages', 'foo', 'bar' ], 'You have foo (bar).' ],
+ 'Message' => [ new Message( 'youhavenewmessages', [ 'foo', 'bar' ] ), 'You have foo (bar).' ],
+ 'RawMessage' => [ new RawMessage( 'foo ($1)', [ 'bar' ] ), 'foo (bar)' ],
+ 'MessageSpecifier' => [ $messageSpecifier, 'Main Page' ],
+ 'nested RawMessage' => [ [ new RawMessage( 'foo ($1)', [ 'bar' ] ) ], 'foo (bar)' ],
+ ];
+ }
}
+