diff --git a/test/libraries/PMA_structure_test.php b/test/libraries/PMA_structure_test.php new file mode 100644 index 0000000000..538346be4a --- /dev/null +++ b/test/libraries/PMA_structure_test.php @@ -0,0 +1,204 @@ + 3, + 'TABLE_NAME' => 'name1', + ); + $table_is_view = false; + $tbl_url_query = 'tbl_url_query'; + $titles = array( + 'Browse' => 'Browse1', + 'NoBrowse' => 'NoBrowse1', + 'Search' => 'Search1', + 'NoSearch' => 'NoSearch1', + 'Empty' => 'Empty1', + 'NoEmpty' => 'NoEmpty1', + );; + $truename = 'truename'; + $db_is_information_schema = null; + $url_query = 'url_query'; + + //$table_is_view = true; + list( + $browse_table, $search_table,$browse_table_label, + $empty_table, $tracking_icon + ) = PMA_getHtmlForActionLinks( + $current_table, $table_is_view, $tbl_url_query, + $titles, $truename, $db_is_information_schema, $url_query + ); + + //$browse_table + $this->assertContains( + $titles['Browse'], + $browse_table + ); + + //$search_table + $this->assertContains( + $titles['Search'], + $search_table + ); + $this->assertContains( + $tbl_url_query, + $search_table + ); + + //$browse_table_label + $this->assertContains( + $tbl_url_query, + $browse_table_label + ); + + //$empty_table + $this->assertContains( + $tbl_url_query, + $empty_table + ); + $this->assertContains( + urlencode( + 'TRUNCATE ' . PMA_Util::backquote($current_table['TABLE_NAME']) + ), + $empty_table + ); + $this->assertContains( + $titles['Empty'], + $empty_table + ); + + //$table_is_view = false; + $current_table = array( + 'TABLE_ROWS' => 0, + 'TABLE_NAME' => 'name1', + ); + $table_is_view = false; + list( + $browse_table, $search_table,$browse_table_label, + $empty_table, $tracking_icon + ) = PMA_getHtmlForActionLinks( + $current_table, $table_is_view, $tbl_url_query, + $titles, $truename, $db_is_information_schema, $url_query + ); + + //$browse_table + $this->assertContains( + $titles['NoBrowse'], + $browse_table + ); + + //$search_table + $this->assertContains( + $titles['NoSearch'], + $search_table + ); + + //$browse_table_label + $this->assertContains( + $tbl_url_query, + $browse_table_label + ); + $this->assertContains( + $titles['NoEmpty'], + $empty_table + ); + } + + /** + * Test for PMA_getTableDropQueryAndMessage + * + * @return void + */ + public function testPMAGetTableDropQueryAndMessage() + { + $current_table = array( + 'TABLE_ROWS' => 3, + 'TABLE_NAME' => 'name1', + 'ENGINE' => 'ENGINE1', + ); + $table_is_view = false; + + list($drop_query, $drop_message) = PMA_getTableDropQueryAndMessage( + $table_is_view, $current_table + ); + + //$drop_query + $ret = "DROP TABLE `name1`"; + $this->assertEquals( + $ret, + $drop_query + ); + + //$drop_message + $ret = "Table name1 has been dropped"; + $this->assertEquals( + $ret, + $drop_message + ); + } +}