diff --git a/libraries/bookmark.lib.php b/libraries/bookmark.lib.php index e9c7f0d55f..0c9ff69a76 100644 --- a/libraries/bookmark.lib.php +++ b/libraries/bookmark.lib.php @@ -210,6 +210,7 @@ function PMA_Bookmark_delete($db, $id) /** * Bookmark Support */ -$GLOBALS['cfg']['Bookmark'] = PMA_Bookmark_getParams(); - +if (!defined('TESTSUITE')) { + $GLOBALS['cfg']['Bookmark'] = PMA_Bookmark_getParams(); +} ?> diff --git a/test/libraries/PMA_sql_query_form_test.php b/test/libraries/PMA_sql_query_form_test.php new file mode 100644 index 0000000000..3f07592b74 --- /dev/null +++ b/test/libraries/PMA_sql_query_form_test.php @@ -0,0 +1,258 @@ + "table_name", + 'displaywork' => 'displaywork', + 'db' => "information_schema", + 'table_info' => 'table_info', + 'relwork' => 'relwork', + 'relation' => 'relation', + 'bookmarkwork' => 'bookmarkwork', + ); + //$GLOBALS + $GLOBALS['cfg']['Server']['user'] = "user"; + $GLOBALS['cfg']['Server']['pmadb'] = "pmadb"; + $GLOBALS['cfg']['Server']['bookmarktable'] = "bookmarktable"; + + //$_SESSION + $_SESSION['PMA_Theme'] = PMA_Theme::load('./themes/pmahomme'); + $_SESSION['PMA_Theme'] = new PMA_Theme(); + + //Mock DBI + $dbi = $this->getMockBuilder('PMA_DatabaseInterface') + ->disableOriginalConstructor() + ->getMock(); + + $fetchResult = array("index1"=>"table1", "index2"=>"table2"); + $dbi->expects($this->any()) + ->method('fetchResult') + ->will($this->returnValue($fetchResult)); + + $getColumns = array( + array( + "Field" => "filed1", + "Comment" => "Comment1" + ) + ); + $dbi->expects($this->any()) + ->method('getColumns') + ->will($this->returnValue($getColumns)); + + $GLOBALS['dbi'] = $dbi; + } + + /** + * Test for PMA_getHtmlForSqlQueryFormUpload + * + * @return void + */ + public function testPMAGetHtmlForSqlQueryFormUpload() + { + //Call the test function + $html = PMA_getHtmlForSqlQueryFormUpload(); + + //validate 1: Browse your computer + $this->assertContains( + __('Browse your computer:'), + $html + ); + + //validate 2: $GLOBALS['max_upload_size'] + $this->assertContains( + PMA_Util::getFormattedMaximumUploadSize($GLOBALS['max_upload_size']), + $html + ); + $this->assertContains( + PMA_Util::generateHiddenMaxFileSize($GLOBALS['max_upload_size']), + $html + ); + + //validate 3: Dropdown Box + $this->assertContains( + PMA_generateCharsetDropdownBox( + PMA_CSDROPDOWN_CHARSET, + 'charset_of_file', null, 'utf8', false + ), + $html + ); + } + + /** + * Test for PMA_getHtmlForSqlQueryFormInsert + * + * @return void + */ + public function testPMAGetHtmlForSqlQueryFormInsert() + { + //Call the test function + $query = "select * from PMA"; + $html = PMA_getHtmlForSqlQueryFormInsert($query); + + //validate 1: query + $this->assertContains( + htmlspecialchars($query), + $html + ); + + //validate 2: enable auto select text in textarea + $auto_sel = ' onclick="selectContent(this, sql_box_locked, true);"'; + $this->assertContains( + $auto_sel, + $html + ); + + //validate 3: showMySQLDocu + $this->assertContains( + PMA_Util::showMySQLDocu('SELECT'), + $html + ); + + //validate 4: $fields_list + $this->assertContains( + 'assertContains( + 'assertContains( + 'assertContains( + 'assertContains( + 'assertContains( + 'assertContains( + __('Clear'), + $html + ); + } + + /** + * Test for PMA_getHtmlForSqlQueryForm + * + * @return void + */ + public function testPMAGetHtmlForSqlQueryForm() + { + //Call the test function + $GLOBALS['is_upload'] = true; + $query = "select * from PMA"; + $html = PMA_getHtmlForSqlQueryForm($query); + + //validate 1: query + $this->assertContains( + htmlspecialchars($query), + $html + ); + + //validate 2: $enctype + $enctype = ' enctype="multipart/form-data"'; + $this->assertContains( + $enctype, + $html + ); + + //validate 3: sqlqueryform + $this->assertContains( + 'id="sqlqueryform" name="sqlform">', + $html + ); + + //validate 4: $db, $table + $table = $GLOBALS['table']; + $db = $GLOBALS['db']; + $this->assertContains( + PMA_URL_getHiddenInputs($db, $table), + $html + ); + + //validate 5: $goto + $goto = empty($GLOBALS['goto']) ? 'tbl_sql.php' : $GLOBALS['goto']; + $this->assertContains( + htmlspecialchars($goto), + $html + ); + + //validate 6: PMA_Kanji_encodingForm + $this->assertContains( + PMA_Kanji_encodingForm(), + $html + ); + } +} +