Add getLanguage method to Message
authoraude <aude.wiki@gmail.com>
Wed, 26 Mar 2014 17:59:30 +0000 (18:59 +0100)
committeraude <aude.wiki@gmail.com>
Fri, 28 Mar 2014 17:04:12 +0000 (18:04 +0100)
This allows to more easily test code where language is set,
Message::inLanguage() is called, etc.

Change-Id: If8f9697480f5d084f755990fdc0f2a1e18f056bc

includes/Message.php
tests/phpunit/includes/MessageTest.php

index 9ffd9aa..d0ce482 100644 (file)
@@ -272,6 +272,17 @@ class Message {
                return $this->format;
        }
 
+       /**
+        * Returns the Language of the Message.
+        *
+        * @since 1.23
+        *
+        * @return Language
+        */
+       public function getLanguage() {
+               return $this->language;
+       }
+
        /**
         * Factory function that is just wrapper for the real constructor. It is
         * intended to be used instead of the real constructor, because it allows
index 914f235..44ca3d2 100644 (file)
@@ -59,6 +59,24 @@ class MessageTest extends MediaWikiLangTestCase {
                );
        }
 
+       public function getLanguageProvider() {
+               return array(
+                       array( 'foo', array( 'bar' ), 'en' ),
+                       array( 'foo', array( 'bar' ), 'de' )
+               );
+       }
+
+       /**
+        * @covers Message::getLanguage
+        * @dataProvider getLanguageProvider
+        */
+       public function testGetLanguageCode( $key, $params, $languageCode ) {
+               $language = Language::factory( $languageCode );
+               $message = new Message( $key, $params, $language );
+
+               $this->assertEquals( $language, $message->getLanguage() );
+       }
+
        /**
         * @covers Message::params
         * @dataProvider provideTestParams