Merge "Allow constructing a Message from a MessageSpecifier"
[lhc/web/wiklou.git] / tests / phpunit / includes / MessageTest.php
index 225cc4c..9c953a6 100644 (file)
@@ -559,4 +559,26 @@ class MessageTest extends MediaWikiLangTestCase {
        public function testInLanguageThrows() {
                wfMessage( 'foo' )->inLanguage( 123 );
        }
+
+       /**
+        * @covers Message::serialize
+        * @covers Message::unserialize
+        */
+       public function testSerialization() {
+               $msg = new Message( 'parentheses' );
+               $msg->rawParams( '<a>foo</a>' );
+               $msg->title( Title::newFromText( 'Testing' ) );
+               $this->assertEquals( '(<a>foo</a>)', $msg->parse(), 'Sanity check' );
+               $msg = unserialize( serialize( $msg ) );
+               $this->assertEquals( '(<a>foo</a>)', $msg->parse() );
+               $title = TestingAccessWrapper::newFromObject( $msg )->title;
+               $this->assertInstanceOf( 'Title', $title );
+               $this->assertEquals( 'Testing', $title->getFullText() );
+
+               $msg = new Message( 'mainpage' );
+               $msg->inLanguage( 'de' );
+               $this->assertEquals( 'Hauptseite', $msg->plain(), 'Sanity check' );
+               $msg = unserialize( serialize( $msg ) );
+               $this->assertEquals( 'Hauptseite', $msg->plain() );
+       }
 }