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
+ );
+ }
+}
+