diff --git a/test/libraries/PMA_server_engines_test.php b/test/libraries/PMA_server_engines_test.php
new file mode 100644
index 0000000000..f02ad42de7
--- /dev/null
+++ b/test/libraries/PMA_server_engines_test.php
@@ -0,0 +1,171 @@
+getMockBuilder('PMA_DatabaseInterface')
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $GLOBALS['dbi'] = $dbi;
+
+ //expects return value
+ $engines = array(
+ "FEDERATED" => array(
+ "Engine" => "FEDERATED",
+ "Support" => "NO",
+ "Comment" => "Federated MySQL storage engine",
+ "Transactions" => NULL,
+ "Savepoints" => NULL,
+ ),
+ "MRG_MYISAM" => array(
+ "Engine" => "MRG_MYISAM",
+ "Support" => "YES",
+ "Comment" => "Collection of identical MyISAM tables",
+ "Transactions" => "NO",
+ "Savepoints" => "NO",
+ )
+ );
+
+ //expects functions
+ $dbi->expects($this->once())->method('fetchResult')
+ ->will($this->returnValue($engines));
+
+ //test PMA_getHtmlForAllServerEngines
+ $html = PMA_getHtmlForServerEngines();
+
+ //validate 1: Item header
+ $this->assertContains(
+ '
Storage Engine | ',
+ $html
+ );
+ $this->assertContains(
+ 'Description | ',
+ $html
+ );
+ //validate 2: FEDERATED
+ $this->assertContains(
+ 'Federated MySQL storage engine | ',
+ $html
+ );
+ $this->assertContains(
+ 'FEDERATED',
+ $html
+ );
+ $this->assertContains(
+ 'href="server_engines.php?engine=FEDERATED',
+ $html
+ );
+
+ //validate 3: MRG_MYISAM
+ $this->assertContains(
+ 'Collection of identical MyISAM tables | ',
+ $html
+ );
+ $this->assertContains(
+ 'MRG_MYISAM',
+ $html
+ );
+ $this->assertContains(
+ 'href="server_engines.php?engine=MRG_MYISAM',
+ $html
+ );
+ }
+
+ /**
+ * Test for PMA_getHtmlForServerEngines for specific engines "FEDERATED"
+ *
+ * @return void
+ */
+ public function testPMA_getPluginAndModuleInfo_Specific()
+ {
+ $_REQUEST['engine'] = "FEDERATED";
+ //Mock DBI
+ $dbi = $this->getMockBuilder('PMA_DatabaseInterface')
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $GLOBALS['dbi'] = $dbi;
+
+ //test PMA_getHtmlForAllServerEngines for specific engines "FEDERATED"
+ $html = PMA_getHtmlForServerEngines();
+
+ //validate 1: Engine header
+ $this->assertContains(
+ 'FEDERATED',
+ $html
+ );
+ $this->assertContains(
+ 'Federated MySQL storage engine',
+ $html
+ );
+ $this->assertContains(
+ 'This MySQL server does not support the FEDERATED storage engine.',
+ $html
+ );
+ $this->assertContains(
+ 'There is no detailed status information available for this storage engine',
+ $html
+ );
+ }
+}