diff --git a/libraries/sqlparser.lib.php b/libraries/sqlparser.lib.php index 7cfde965e7..b99ba814be 100644 --- a/libraries/sqlparser.lib.php +++ b/libraries/sqlparser.lib.php @@ -155,7 +155,7 @@ function PMA_SQP_bug($message, $sql) { global $SQP_errorString; $debugstr = 'ERROR: ' . $message . "\n"; - $debugstr .= 'MySQL: '.PMA_MYSQL_STR_VERSION . "\n"; + $debugstr .= 'MySQL: ' . PMA_MYSQL_STR_VERSION . "\n"; $debugstr .= 'USR OS, AGENT, VER: ' . PMA_USR_OS . ' '; $debugstr .= PMA_USR_BROWSER_AGENT . ' ' . PMA_USR_BROWSER_VER . "\n"; $debugstr .= 'PMA: ' . PMA_VERSION . "\n"; diff --git a/test/libraries/PMA_SQL_parser_test.php b/test/libraries/PMA_SQL_parser_test.php index 65e834156c..097bad4492 100644 --- a/test/libraries/PMA_SQL_parser_test.php +++ b/test/libraries/PMA_SQL_parser_test.php @@ -61,8 +61,59 @@ class PMA_SQLParser_Test extends PHPUnit_Framework_TestCase $this->assertTrue(PMA_SQP_isKeyWord("accessible")); $this->assertTrue(PMA_SQP_isKeyWord("ASC")); $this->assertFalse(PMA_SQP_isKeyWord("hello")); + } + + /** + * Test PMA_SQP_typeCheck + * + * @return void + */ + public function testPMA_SQP_typeCheck() + { + $this->assertTrue( + PMA_SQP_typeCheck("VARCHAR", "VARCHAR") + ); + + $this->assertFalse( + PMA_SQP_typeCheck("VARCHAR", "VARCHAR_INT") + ); + + $this->assertTrue( + PMA_SQP_typeCheck("VARCHAR_INT", "VARCHAR") + ); + + $this->assertFalse( + PMA_SQP_typeCheck("TIME_INT", "VARCHAR") + ); } + /** + * Test PMA_SQP_throwError + * + * @return void + */ + public function testPMA_SQP_throwError() + { + global $SQP_errorString; + $message = "error from testPMA_SQP_throwError"; + $sql = "select * from PMA.PMABookmark"; + PMA_SQP_throwError($message, $sql); + + $this->assertContains( + "There seems to be an error in your SQL query.", + $SQP_errorString + ); + + $this->assertContains( + 'ERROR: ' . $message, + $SQP_errorString + ); + + $this->assertContains( + 'SQL: ' . htmlspecialchars($sql), + $SQP_errorString + ); + } /** * Data provider for parser testing