diff --git a/core/trunk/core/tests/class/MessageController.php b/core/trunk/core/tests/class/MessageController.php
index 3fccb33933cf92a28667638b11df6665fd1d0e43..f6956613470de755ded5ad421cbfbaebf6cdfb48 100644
--- a/core/trunk/core/tests/class/MessageController.php
+++ b/core/trunk/core/tests/class/MessageController.php
@@ -55,6 +55,25 @@ class MessageController
         return $messageDefinition;
     }
     
+    public function getTexts(
+        $messageIdPrefix, 
+        $messageLang = false
+        )
+    {
+        if(!$messageLang) $messageLang = $_SESSION['config']['lang'];
+        
+        $messagesTexts = array();
+        $messageDefinitions = $this-xpath("//message[starts-with(@id, '".$messageIdPrefix."')]")
+        
+        for($i=0; $i<$messageDefinitions->length; $i++) {
+            $messageDefinition = $messageDefinitions->item($i);
+            $messageText = $this->makeMessageText($messageDefinition, $messageLang);
+            $messageId = $messageDefinition->id;
+            $messagesTexts[$messageId] = $messageText;
+        }
+        return $messagesTexts;
+    }
+    
     public function getMessageText(
         $messageId,
         $messageLang = false,
@@ -86,7 +105,10 @@ class MessageController
     {
         // Get message text in requested language
         $messageTexts = $this->xpath("./text[@lang='".$messageLang."']", $messageDefinition);
-        if($messageTexts->length === 0) $messageText = $this->xpath("./text", $messageDefinition)->item(0)->nodeValue;
+        // No text defined for language, return id
+        if($messageTexts->length === 0) {
+            return $messageDefinition->messageId;
+        }
         $messageText = $messageTexts->item(0)->nodeValue;
         $messageText = @vsprintf($messageText, $messageParams);         
         return $messageText;