*/
public function testToStringKey() {
$this->assertEquals( 'Main Page', wfMessage( 'mainpage' )->text() );
- $this->assertEquals( '<i-dont-exist-evar>', wfMessage( 'i-dont-exist-evar' )->text() );
- $this->assertEquals( '<i<dont>exist-evar>', wfMessage( 'i<dont>exist-evar' )->text() );
- $this->assertEquals( '<i-dont-exist-evar>', wfMessage( 'i-dont-exist-evar' )->plain() );
- $this->assertEquals( '<i<dont>exist-evar>', wfMessage( 'i<dont>exist-evar' )->plain() );
- $this->assertEquals( '<i-dont-exist-evar>', wfMessage( 'i-dont-exist-evar' )->escaped() );
+ $this->assertEquals( '⧼i-dont-exist-evar⧽', wfMessage( 'i-dont-exist-evar' )->text() );
+ $this->assertEquals( '⧼i<dont>exist-evar⧽', wfMessage( 'i<dont>exist-evar' )->text() );
+ $this->assertEquals( '⧼i-dont-exist-evar⧽', wfMessage( 'i-dont-exist-evar' )->plain() );
+ $this->assertEquals( '⧼i<dont>exist-evar⧽', wfMessage( 'i<dont>exist-evar' )->plain() );
+ $this->assertEquals( '⧼i-dont-exist-evar⧽', wfMessage( 'i-dont-exist-evar' )->escaped() );
$this->assertEquals(
- '<i<dont>exist-evar>',
+ '⧼i<dont>exist-evar⧽',
wfMessage( 'i<dont>exist-evar' )->escaped()
);
}
public static function provideToString() {
return [
[ 'mainpage', 'Main Page' ],
- [ 'i-dont-exist-evar', '<i-dont-exist-evar>' ],
- [ 'i-dont-exist-evar', '<i-dont-exist-evar>', 'escaped' ],
+ [ 'i-dont-exist-evar', '⧼i-dont-exist-evar⧽' ],
+ [ 'i-dont-exist-evar', '⧼i-dont-exist-evar⧽', 'escaped' ],
+ [ 'script>alert(1)</script', '⧼script>alert(1)</script⧽', 'escaped' ],
+ [ 'script>alert(1)</script', '⧼script>alert(1)</script⧽' ],
];
}
$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 );
+ if ( $value instanceof Message ) {
+ $this->assertInstanceOf( get_class( $value ), $message );
+ $this->assertEquals( $value, $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)' ],
+ 'ApiMessage' => [ new ApiMessage( [ 'mainpage' ], 'code', [ 'data' ] ), 'Main Page' ],
+ 'MessageSpecifier' => [ $messageSpecifier, 'Main Page' ],
+ 'nested RawMessage' => [ [ new RawMessage( 'foo ($1)', [ 'bar' ] ) ], 'foo (bar)' ],
+ ];
+ }
}
+