Add test that covers Status::fatal
authoraddshore <addshorewiki@gmail.com>
Sat, 25 Jan 2014 15:11:57 +0000 (16:11 +0100)
committeraddshore <addshorewiki@gmail.com>
Sat, 25 Jan 2014 15:11:57 +0000 (16:11 +0100)
Change-Id: I7cb1e19569f77df5230808d7b35200b0ec9a6698

tests/phpunit/includes/StatusTest.php

index aa5367e..08c1470 100644 (file)
@@ -166,6 +166,29 @@ class StatusTest extends MediaWikiLangTestCase {
                }
        }
 
+       /**
+        * @dataProvider provideMockMessageDetails
+        * @covers Status::fatal
+        * @covers Status::getErrorsArray
+        * @covers Status::getStatusArray
+        */
+       public function testFatalWithMessage( $mockDetails ) {
+               $status = new Status();
+               $messages = $this->getMockMessages( $mockDetails );
+
+               foreach ( $messages as $message ) {
+                       $status->fatal( $message );
+               }
+               $errors = $status->getErrorsArray();
+
+               $this->assertEquals( count( $messages ), count( $errors ) );
+               foreach ( $messages as $key => $message ) {
+                       $expectedArray = array_merge( array( $message->getKey() ), $message->getParams() );
+                       $this->assertEquals( $errors[$key], $expectedArray );
+               }
+               $this->assertFalse( $status->isOK() );
+       }
+
        protected function getMockMessage( $key = 'key', $params = array() ) {
                $message = $this->getMockBuilder( 'Message' )
                        ->disableOriginalConstructor()