1, 'ActionLinksMode' => 'icons', 'LinkLengthLimit' => 1000, ]; $GLOBALS['cfg']['DBG']['sql'] = false; $GLOBALS['server'] = 1; $GLOBALS['db_priv'] = true; $GLOBALS['table_priv'] = true; $GLOBALS['col_priv'] = true; $GLOBALS['proc_priv'] = true; $GLOBALS['flush_priv'] = true; $GLOBALS['is_reload_priv'] = false; $GLOBALS['cfg']['Server']['DisableIS'] = false; $relation = new Relation($GLOBALS['dbi']); $this->operations = new Operations($GLOBALS['dbi'], $relation); } /** * Test for getHtmlForDatabaseComment * * @return void */ public function testGetHtmlForDatabaseComment() { $this->assertRegExp( '/.*\/database\/operations(.|[\n])*Database comment.*name="comment"([\n]|.)*/m', $this->operations->getHtmlForDatabaseComment('pma') ); } /** * Test for getHtmlForRenameDatabase * * @return void */ public function testGetHtmlForRenameDatabase() { $db_collation = 'db1'; $html = $this->operations->getHtmlForRenameDatabase('pma', $db_collation); $this->assertStringContainsString('index.php?route=/database/operations', $html); $this->assertRegExp( '/.*db_rename.*Rename database to.*/', $html ); } /** * Test for getHtmlForDropDatabaseLink * * @return void */ public function testGetHtmlForDropDatabaseLink() { $this->assertRegExp( '/.*DROP.DATABASE.*%2Fdatabase%2Foperations.*Drop the database.*/', $this->operations->getHtmlForDropDatabaseLink('pma') ); } /** * Test for getHtmlForCopyDatabase * * @return void */ public function testGetHtmlForCopyDatabase() { $db_collation = 'db1'; $html = $this->operations->getHtmlForCopyDatabase('pma', $db_collation); $this->assertRegExp('/.*\/database\/operations.*/', $html); $this->assertRegExp('/.*db_copy.*/', $html); $this->assertRegExp('/.*Copy database to.*/', $html); } /** * Test for getHtmlForChangeDatabaseCharset * * @return void */ public function testGetHtmlForChangeDatabaseCharset() { $db_collation = 'db1'; $result = $this->operations->getHtmlForChangeDatabaseCharset('pma', $db_collation); $this->assertRegExp( '/.*select_db_collation.*Collation.*/m', $result ); $this->assertRegExp( '/.*\/database\/operations.*/', $result ); } /** * Test for getHtmlForOrderTheTable * * @return void */ public function testGetHtmlForOrderTheTable() { $actual = $this->operations->getHtmlForOrderTheTable( [ ['Field' => 'column1'], ['Field' => 'column2'], ] ); $this->assertStringContainsString( 'index.php?route=/table/operations', $actual ); $this->assertStringContainsString( 'Alter table order by', $actual ); $this->assertStringContainsString( 'order_order', $actual ); } /** * Test for getHtmlForTableRow * * @return void */ public function testGetHtmlForTableRow() { $method = new ReflectionMethod(Operations::class, 'getHtmlForTableRow'); $method->setAccessible(true); $result = $method->invokeArgs($this->operations, ['name', 'lable', 'value']); $this->assertEquals( '