Merge "Revert "selenium: add new message banner test to user spec""
[lhc/web/wiklou.git] / tests / phpunit / includes / libs / rdbms / database / DatabaseMysqlBaseTest.php
index 456447f..a23a2a0 100644 (file)
@@ -27,6 +27,8 @@ use Wikimedia\Rdbms\TransactionProfiler;
 use Wikimedia\Rdbms\DatabaseDomain;
 use Wikimedia\Rdbms\MySQLMasterPos;
 use Wikimedia\Rdbms\DatabaseMysqlBase;
+use Wikimedia\Rdbms\DatabaseMysqli;
+use Wikimedia\Rdbms\Database;
 
 /**
  * Fake class around abstract class so we can call concrete methods.
@@ -51,7 +53,7 @@ class FakeDatabaseMysqlBase extends DatabaseMysqlBase {
        protected function doQuery( $sql ) {
        }
 
-       // From DatabaseMysql
+       // From DatabaseMysqli
        protected function mysqlConnect( $realServer ) {
        }
 
@@ -105,6 +107,9 @@ class FakeDatabaseMysqlBase extends DatabaseMysqlBase {
 }
 
 class DatabaseMysqlBaseTest extends PHPUnit_Framework_TestCase {
+
+       use MediaWikiCoversValidator;
+
        /**
         * @dataProvider provideDiapers
         * @covers Wikimedia\Rdbms\DatabaseMysqlBase::addIdentifierQuotes
@@ -172,7 +177,7 @@ class DatabaseMysqlBaseTest extends PHPUnit_Framework_TestCase {
        }
 
        private function getMockForViews() {
-               $db = $this->getMockBuilder( 'DatabaseMysqli' )
+               $db = $this->getMockBuilder( DatabaseMysqli::class )
                        ->disableOriginalConstructor()
                        ->setMethods( [ 'fetchRow', 'query' ] )
                        ->getMock();
@@ -321,7 +326,7 @@ class DatabaseMysqlBaseTest extends PHPUnit_Framework_TestCase {
         * @covers Wikimedia\Rdbms\DatabaseMysqlBase::getLagFromPtHeartbeat
         */
        public function testPtHeartbeat( $lag ) {
-               $db = $this->getMockBuilder( 'DatabaseMysqli' )
+               $db = $this->getMockBuilder( DatabaseMysqli::class )
                        ->disableOriginalConstructor()
                        ->setMethods( [
                                'getLagDetectionMethod', 'getHeartbeatData', 'getMasterServerInfo' ] )
@@ -368,4 +373,24 @@ class DatabaseMysqlBaseTest extends PHPUnit_Framework_TestCase {
                        [ 1000.77 ],
                ];
        }
+
+       /**
+        * @expectedException UnexpectedValueException
+        * @covers Wikimedia\Rdbms\Database::setFlag
+        */
+       public function testDBOIgnoreSet() {
+               $db = new FakeDatabaseMysqlBase();
+
+               $db->setFlag( Database::DBO_IGNORE );
+       }
+
+       /**
+        * @expectedException UnexpectedValueException
+        * @covers Wikimedia\Rdbms\Database::clearFlag
+        */
+       public function testDBOIgnoreClear() {
+               $db = new FakeDatabaseMysqlBase();
+
+               $db->clearFlag( Database::DBO_IGNORE );
+       }
 }