redefineRelation(); $this->relation = new Relation(); } /** * functions for redefine RelationCleanupDbiMock * * @return void */ public function redefineRelation() { $GLOBALS['dbi'] = new RelationCleanupDbiMock(); unset($_SESSION['relation'][$GLOBALS['server']]); } /** * Test for RelationCleanup::column * * @return void * @group medium */ public function testPMARelationsCleanupColumn() { $db = "PMA"; $table = "PMA_bookmark"; $column = "name"; $this->redefineRelation(); //the $cfgRelation value before cleanup column $cfgRelation = $this->relation->checkRelationsParam(); $this->assertEquals( true, $cfgRelation['commwork'] ); //validate Relation::getDbComments when commwork = true $db_comments = $this->relation->getDbComments(); $this->assertEquals( ['db_name0' => 'comment0','db_name1' => 'comment1'], $db_comments ); $this->assertEquals( true, $cfgRelation['displaywork'] ); //validate Relation::getDisplayField when displaywork = true $display_field = $this->relation->getDisplayField($db, $table); $this->assertEquals( 'PMA_display_field', $display_field ); $this->assertEquals( true, $cfgRelation['relwork'] ); $this->assertEquals( 'column_info', $cfgRelation['column_info'] ); $this->assertEquals( 'table_info', $cfgRelation['table_info'] ); $this->assertEquals( 'relation', $cfgRelation['relation'] ); //cleanup RelationCleanup::column($db, $table, $column); //the $cfgRelation value after cleanup column $cfgRelation = $this->relation->checkRelationsParam(); $is_defined_column_info = isset($cfgRelation['column_info']) ? $cfgRelation['column_info'] : null; $is_defined_table_info = isset($cfgRelation['table_info']) ? $cfgRelation['table_info'] : null; $is_defined_relation = isset($cfgRelation['relation']) ? $cfgRelation['relation'] : null; $this->assertEquals( null, $is_defined_column_info ); $this->assertEquals( null, $is_defined_table_info ); $this->assertEquals( null, $is_defined_relation ); } /** * Test for RelationCleanup::table * * @return void */ public function testPMARelationsCleanupTable() { $db = "PMA"; $table = "PMA_bookmark"; $this->redefineRelation(); //the $cfgRelation value before cleanup column $cfgRelation = $this->relation->checkRelationsParam(); $this->assertEquals( 'column_info', $cfgRelation['column_info'] ); $this->assertEquals( 'table_info', $cfgRelation['table_info'] ); $this->assertEquals( 'table_coords', $cfgRelation['table_coords'] ); $this->assertEquals( 'relation', $cfgRelation['relation'] ); //RelationCleanup::table RelationCleanup::table($db, $table); //the $cfgRelation value after cleanup column $cfgRelation = $this->relation->checkRelationsParam(); $is_defined_column_info = isset($cfgRelation['column_info']) ? $cfgRelation['column_info'] : null; $is_defined_table_info = isset($cfgRelation['table_info']) ? $cfgRelation['table_info'] : null; $is_defined_relation = isset($cfgRelation['relation']) ? $cfgRelation['relation'] : null; $is_defined_table_coords = isset($cfgRelation['table_coords']) ? $cfgRelation['table_coords'] : null; $this->assertEquals( null, $is_defined_column_info ); $this->assertEquals( null, $is_defined_table_info ); $this->assertEquals( null, $is_defined_relation ); $this->assertEquals( null, $is_defined_table_coords ); } /** * Test for RelationCleanup::database * * @return void */ public function testPMARelationsCleanupDatabase() { $db = "PMA"; $this->redefineRelation(); //the $cfgRelation value before cleanup column $cfgRelation = $this->relation->checkRelationsParam(); $this->assertEquals( 'column_info', $cfgRelation['column_info'] ); $this->assertEquals( 'bookmark', $cfgRelation['bookmark'] ); $this->assertEquals( 'table_info', $cfgRelation['table_info'] ); $this->assertEquals( 'pdf_pages', $cfgRelation['pdf_pages'] ); $this->assertEquals( 'table_coords', $cfgRelation['table_coords'] ); $this->assertEquals( 'relation', $cfgRelation['relation'] ); //cleanup RelationCleanup::database($db); //the value after cleanup column $cfgRelation = $this->relation->checkRelationsParam(); $is_defined_column_info = isset($cfgRelation['column_info']) ? $cfgRelation['column_info'] : null; $is_defined_table_info = isset($cfgRelation['table_info']) ? $cfgRelation['table_info'] : null; $is_defined_relation = isset($cfgRelation['relation']) ? $cfgRelation['relation'] : null; $is_defined_table_coords = isset($cfgRelation['table_coords']) ? $cfgRelation['table_coords'] : null; $this->assertEquals( null, $is_defined_column_info ); $this->assertEquals( null, $is_defined_table_info ); $this->assertEquals( null, $is_defined_relation ); $this->assertEquals( null, $is_defined_table_coords ); } }