diff options
author | Maurício Meneghini Fauth <mauriciofauth@gmail.com> | 2019-01-08 21:32:02 -0200 |
---|---|---|
committer | Maurício Meneghini Fauth <mauriciofauth@gmail.com> | 2019-01-16 17:21:25 -0200 |
commit | 86c5baebda24c1721fb6881df8671a3c7df60e8b (patch) | |
tree | 0a76d58ea229d1008e169b1c5b25ce90dde91808 /tests/Utils | |
parent | 28427543566b6dd32fe44db704ea41368ba55c0e (diff) | |
download | sql-parser-86c5baebda24c1721fb6881df8671a3c7df60e8b.zip sql-parser-86c5baebda24c1721fb6881df8671a3c7df60e8b.tar.gz sql-parser-86c5baebda24c1721fb6881df8671a3c7df60e8b.tar.bz2 |
Apply phpmyadmin/coding-standard
Signed-off-by: Maurício Meneghini Fauth <mauriciofauth@gmail.com>
Diffstat (limited to 'tests/Utils')
-rw-r--r-- | tests/Utils/BufferedQueryTest.php | 90 | ||||
-rw-r--r-- | tests/Utils/CLITest.php | 135 | ||||
-rw-r--r-- | tests/Utils/ErrorTest.php | 24 | ||||
-rw-r--r-- | tests/Utils/FormatterTest.php | 249 | ||||
-rw-r--r-- | tests/Utils/MiscTest.php | 130 | ||||
-rw-r--r-- | tests/Utils/QueryTest.php | 395 | ||||
-rw-r--r-- | tests/Utils/RoutineTest.php | 326 | ||||
-rw-r--r-- | tests/Utils/TableTest.php | 138 | ||||
-rw-r--r-- | tests/Utils/TokensTest.php | 90 |
9 files changed, 871 insertions, 706 deletions
diff --git a/tests/Utils/BufferedQueryTest.php b/tests/Utils/BufferedQueryTest.php index 731fc0e..f31dd78 100644 --- a/tests/Utils/BufferedQueryTest.php +++ b/tests/Utils/BufferedQueryTest.php @@ -27,7 +27,7 @@ class BufferedQueryTest extends TestCase * * @var array */ - $statements = array(); + $statements = []; /** * The `BufferedQuery` instance used for extraction. @@ -99,21 +99,21 @@ class BufferedQueryTest extends TestCase '/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;' . "\n" . '/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */'; - return array( - array( + return [ + [ "SELECT '\'';\nSELECT '\'';", 8, - array( + [ 'parse_delimiter' => true, 'add_delimiter' => true, - ), - array( + ], + [ "SELECT '\'';", "SELECT '\'';", - ), - ), + ], + ], - array( + [ "CREATE TABLE `test` (\n" . " `txt` varchar(10)\n" . ");\n" . @@ -121,58 +121,58 @@ class BufferedQueryTest extends TestCase "INSERT INTO `test` (`txt`) VALUES('\\\\');\n" . "INSERT INTO `test` (`txt`) VALUES('xyz');\n", 8, - array( + [ 'parse_delimiter' => true, 'add_delimiter' => true, - ), - array( + ], + [ "CREATE TABLE `test` (\n" . " `txt` varchar(10)\n" . ');', "INSERT INTO `test` (`txt`) VALUES('abc');", "INSERT INTO `test` (`txt`) VALUES('\\\\');", "INSERT INTO `test` (`txt`) VALUES('xyz');", - ), - ), + ], + ], - array( + [ 'SELECT """""""";' . 'SELECT """\\\\"""', 8, - array( + [ 'parse_delimiter' => true, 'add_delimiter' => true, - ), - array( + ], + [ 'SELECT """""""";', 'SELECT """\\\\"""', - ), - ), + ], + ], - array( + [ 'DELIMITER A_VERY_LONG_DEL' . "\n" . 'SELECT 1 A_VERY_LONG_DEL' . "\n" . 'DELIMITER ;', 3, - array( + [ 'parse_delimiter' => true, 'add_delimiter' => true, - ), - array( + ], + [ 'DELIMITER A_VERY_LONG_DEL', 'SELECT 1 A_VERY_LONG_DEL', 'DELIMITER ;', - ), - ), + ], + ], - array( + [ $query, 32, - array( + [ 'parse_delimiter' => false, 'add_delimiter' => false, - ), - array( + ], + [ '/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */', '/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */', @@ -216,17 +216,17 @@ class BufferedQueryTest extends TestCase '/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */', '/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */', - ), - ), + ], + ], - array( + [ $query, 32, - array( + [ 'parse_delimiter' => true, 'add_delimiter' => false, - ), - array( + ], + [ '/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */', '/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */', @@ -274,17 +274,17 @@ class BufferedQueryTest extends TestCase '/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */', '/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */', - ), - ), + ], + ], - array( + [ $query, 64, - array( + [ 'parse_delimiter' => false, 'add_delimiter' => true, - ), - array( + ], + [ '/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;', '/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;', @@ -328,8 +328,8 @@ class BufferedQueryTest extends TestCase '/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;', '/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */', - ), - ), - ); + ], + ], + ]; } } diff --git a/tests/Utils/CLITest.php b/tests/Utils/CLITest.php index f627dfd..ebcd35e 100644 --- a/tests/Utils/CLITest.php +++ b/tests/Utils/CLITest.php @@ -8,7 +8,7 @@ class CLITest extends TestCase { private function getCLI($getopt) { - $cli = $this->getMockBuilder('PhpMyAdmin\SqlParser\Utils\CLI')->setMethods(array('getopt'))->getMock(); + $cli = $this->getMockBuilder('PhpMyAdmin\SqlParser\Utils\CLI')->setMethods(['getopt'])->getMock(); $cli->method('getopt')->willReturn($getopt); return $cli; @@ -23,8 +23,8 @@ class CLITest extends TestCase { $cli = new \PhpMyAdmin\SqlParser\Utils\CLI(); $this->assertEquals( - $cli->getopt('', array()), - array() + $cli->getopt('', []), + [] ); } @@ -44,50 +44,59 @@ class CLITest extends TestCase public function highlightParams() { - return array( - array( - array('q' => 'SELECT 1'), + return [ + [ + ['q' => 'SELECT 1'], "\x1b[35mSELECT\n \x1b[92m1\x1b[0m\n", 0, - ), - array( - array('query' => 'SELECT 1'), + ], + [ + ['query' => 'SELECT 1'], "\x1b[35mSELECT\n \x1b[92m1\x1b[0m\n", 0, - ), - array( - array('q' => 'SELECT /* comment */ 1 /* other */', 'f' => 'text'), + ], + [ + [ + 'q' => 'SELECT /* comment */ 1 /* other */', + 'f' => 'text', + ], "SELECT\n /* comment */ 1 /* other */\n", 0, - ), - array( - array('q' => 'SELECT 1', 'f' => 'foo'), + ], + [ + [ + 'q' => 'SELECT 1', + 'f' => 'foo', + ], "ERROR: Invalid value for format!\n", 1, - ), - array( - array('q' => 'SELECT 1', 'f' => 'html'), + ], + [ + [ + 'q' => 'SELECT 1', + 'f' => 'html', + ], '<span class="sql-reserved">SELECT</span>' . '<br/>' . ' <span class="sql-number">1</span>' . "\n", 0, - ), - array( - array('h' => true), + ], + [ + ['h' => true], 'Usage: highlight-query --query SQL [--format html|cli|text]' . "\n", 0, - ), - array( - array(), + ], + [ + [], 'ERROR: Missing parameters!' . "\n" . 'Usage: highlight-query --query SQL [--format html|cli|text]' . "\n", 1, - ), - array( + ], + [ false, '', 1, - ), - ); + ], + ]; } /** @@ -106,41 +115,41 @@ class CLITest extends TestCase public function lintParams() { - return array( - array( - array('q' => 'SELECT 1'), + return [ + [ + ['q' => 'SELECT 1'], '', 0, - ), - array( - array('query' => 'SELECT 1'), + ], + [ + ['query' => 'SELECT 1'], '', 0, - ), - array( - array('q' => 'SELECT SELECT'), + ], + [ + ['q' => 'SELECT SELECT'], '#1: An expression was expected. (near "SELECT" at position 7)' . "\n" . '#2: This type of clause was previously parsed. (near "SELECT" at position 7)' . "\n" . '#3: An expression was expected. (near "" at position 0)' . "\n", 10, - ), - array( - array('h' => true), + ], + [ + ['h' => true], 'Usage: lint-query --query SQL' . "\n", 0, - ), - array( - array(), + ], + [ + [], 'ERROR: Missing parameters!' . "\n" . 'Usage: lint-query --query SQL' . "\n", 1, - ), - array( + ], + [ false, '', 1, - ), - ); + ], + ]; } /** @@ -166,33 +175,33 @@ class CLITest extends TestCase . "[TOKEN 3]\nType = 9\nFlags = 0\nValue = NULL\nToken = NULL\n\n" ); - return array( - array( - array('q' => 'SELECT 1'), + return [ + [ + ['q' => 'SELECT 1'], $result, 0, - ), - array( - array('query' => 'SELECT 1'), + ], + [ + ['query' => 'SELECT 1'], $result, 0, - ), - array( - array('h' => true), + ], + [ + ['h' => true], 'Usage: tokenize-query --query SQL' . "\n", 0, - ), - array( - array(), + ], + [ + [], 'ERROR: Missing parameters!' . "\n" . 'Usage: tokenize-query --query SQL' . "\n", 1, - ), - array( + ], + [ false, '', 1, - ), - ); + ], + ]; } } diff --git a/tests/Utils/ErrorTest.php b/tests/Utils/ErrorTest.php index 7a62e46..d7d1393 100644 --- a/tests/Utils/ErrorTest.php +++ b/tests/Utils/ErrorTest.php @@ -14,19 +14,29 @@ class ErrorTest extends TestCase $lexer = new Lexer('SELECT * FROM db..tbl $'); $parser = new Parser($lexer->list); $this->assertEquals( - array( - array('Unexpected character.', 0, '$', 22), - array('Unexpected dot.', 0, '.', 17), - ), - Error::get(array($lexer, $parser)) + [ + [ + 'Unexpected character.', + 0, + '$', + 22, + ], + [ + 'Unexpected dot.', + 0, + '.', + 17, + ], + ], + Error::get([$lexer, $parser]) ); } public function testFormat() { $this->assertEquals( - array('#1: error msg (near "token" at position 100)'), - Error::format(array(array('error msg', 42, 'token', 100))) + ['#1: error msg (near "token" at position 100)'], + Error::format([['error msg', 42, 'token', 100]]) ); } } diff --git a/tests/Utils/FormatterTest.php b/tests/Utils/FormatterTest.php index d39ff9e..152359e 100644 --- a/tests/Utils/FormatterTest.php +++ b/tests/Utils/FormatterTest.php @@ -18,37 +18,37 @@ class FormatTest extends TestCase { $formatter = $this->getMockBuilder('PhpMyAdmin\SqlParser\Utils\Formatter') ->disableOriginalConstructor() - ->setMethods(array('getDefaultOptions', 'getDefaultFormats')) + ->setMethods(['getDefaultOptions', 'getDefaultFormats']) ->getMock(); $formatter->expects($this->once()) ->method('getDefaultOptions') - ->willReturn(array( + ->willReturn([ 'type' => 'text', 'line_ending' => null, 'indentation' => null, 'clause_newline' => null, 'parts_newline' => null, - )); + ]); $formatter->expects($this->once()) ->method('getDefaultFormats') ->willReturn($default); - $expectedOptions = array( + $expectedOptions = [ 'type' => 'test-type', 'line_ending' => '<br>', 'indentation' => ' ', 'clause_newline' => null, 'parts_newline' => 0, 'formats' => $expected, - ); + ]; - $overridingOptions = array( + $overridingOptions = [ 'type' => 'test-type', 'line_ending' => '<br>', 'formats' => $overriding, - ); + ]; $reflectionMethod = new \ReflectionMethod($formatter, 'getMergedOptions'); $reflectionMethod->setAccessible(true); @@ -58,179 +58,178 @@ class FormatTest extends TestCase public function mergeFormats() { // array($default[], $overriding[], $expected[]) - return array( - 'empty formats' => array( - 'default' => array( - array( + return [ + 'empty formats' => [ + 'default' => [ + [ 'type' => 0, 'flags' => 0, 'html' => '', 'cli' => '', 'function' => '', - ), - ), - 'overriding' => array( - array( - ), - ), - 'expected' => array( - array( + ], + ], + 'overriding' => [ + [], + ], + 'expected' => [ + [ 'type' => 0, 'flags' => 0, 'html' => '', 'cli' => '', 'function' => '', - ), - ), - ), - 'no flags' => array( - 'default' => array( - array( + ], + ], + ], + 'no flags' => [ + 'default' => [ + [ 'type' => 0, 'flags' => 0, 'html' => 'html', 'cli' => 'cli', - ), - array( + ], + [ 'type' => 0, 'flags' => 1, 'html' => 'html', 'cli' => 'cli', - ), - ), - 'overriding' => array( - array( + ], + ], + 'overriding' => [ + [ 'type' => 0, 'html' => 'new html', 'cli' => 'new cli', - ), - ), - 'expected' => array( - array( + ], + ], + 'expected' => [ + [ 'type' => 0, 'flags' => 0, 'html' => 'new html', 'cli' => 'new cli', 'function' => '', - ), - array( + ], + [ 'type' => 0, 'flags' => 1, 'html' => 'html', 'cli' => 'cli', - ), - ), - ), - 'with flags' => array( - 'default' => array( - array( + ], + ], + ], + 'with flags' => [ + 'default' => [ + [ 'type' => -1, 'flags' => 0, 'html' => 'html', 'cli' => 'cli', - ), - array( + ], + [ 'type' => 0, 'flags' => 0, 'html' => 'html', 'cli' => 'cli', - ), - array( + ], + [ 'type' => 0, 'flags' => 1, 'html' => 'html', 'cli' => 'cli', - ), - ), - 'overriding' => array( - array( + ], + ], + 'overriding' => [ + [ 'type' => 0, 'flags' => 0, 'html' => 'new html', 'cli' => 'new cli', - ), - ), - 'expected' => array( - array( + ], + ], + 'expected' => [ + [ 'type' => -1, 'flags' => 0, 'html' => 'html', 'cli' => 'cli', - ), - array( + ], + [ 'type' => 0, 'flags' => 0, 'html' => 'new html', 'cli' => 'new cli', 'function' => '', - ), - array( + ], + [ 'type' => 0, 'flags' => 1, 'html' => 'html', 'cli' => 'cli', - ), - ), - ), - 'with extra formats' => array( - 'default' => array( - array( + ], + ], + ], + 'with extra formats' => [ + 'default' => [ + [ 'type' => 0, 'flags' => 0, 'html' => 'html', 'cli' => 'cli', - ), - ), - 'overriding' => array( - array( + ], + ], + 'overriding' => [ + [ 'type' => 0, 'flags' => 1, 'html' => 'new html', 'cli' => 'new cli', - ), - array( + ], + [ 'type' => 1, 'html' => 'new html', 'cli' => 'new cli', - ), - array( + ], + [ 'type' => 1, 'flags' => 1, 'html' => 'new html', 'cli' => 'new cli', - ), - ), - 'expected' => array( - array( + ], + ], + 'expected' => [ + [ 'type' => 0, 'flags' => 0, 'html' => 'html', 'cli' => 'cli', - ), - array( + ], + [ 'type' => 0, 'flags' => 1, 'html' => 'new html', 'cli' => 'new cli', 'function' => '', - ), - array( + ], + [ 'type' => 1, 'flags' => 0, 'html' => 'new html', 'cli' => 'new cli', 'function' => '', - ), - array( + ], + [ 'type' => 1, 'flags' => 1, 'html' => 'new html', 'cli' => 'new cli', 'function' => '', - ), - ), - ), - ); + ], + ], + ], + ]; } /** @@ -241,28 +240,28 @@ class FormatTest extends TestCase * @param mixed $cli * @param mixed $html */ - public function testFormat($query, $text, $cli, $html, array $options = array()) + public function testFormat($query, $text, $cli, $html, array $options = []) { // Test TEXT format - $this->assertEquals($text, Formatter::format($query, array('type' => 'text') + $options), 'Text formatting failed.'); + $this->assertEquals($text, Formatter::format($query, ['type' => 'text'] + $options), 'Text formatting failed.'); // Test CLI format - $this->assertEquals($cli, Formatter::format($query, array('type' => 'cli') + $options), 'CLI formatting failed.'); + $this->assertEquals($cli, Formatter::format($query, ['type' => 'cli'] + $options), 'CLI formatting failed.'); // Test HTML format - $this->assertEquals($html, Formatter::format($query, array('type' => 'html') + $options), 'HTML formatting failed.'); + $this->assertEquals($html, Formatter::format($query, ['type' => 'html'] + $options), 'HTML formatting failed.'); } public function formatQueries() { - return array( - 'empty' => array( + return [ + 'empty' => [ 'query' => '', 'text' => '', 'cli' => "\x1b[0m", 'html' => '', - ), - 'minimal' => array( + ], + 'minimal' => [ 'query' => 'select 1', 'text' => 'SELECT' . "\n" . ' 1', @@ -270,8 +269,8 @@ class FormatTest extends TestCase " \x1b[92m1" . "\x1b[0m", 'html' => '<span class="sql-reserved">SELECT</span>' . '<br/>' . ' <span class="sql-number">1</span>', - ), - 'simply' => array( + ], + 'simply' => [ 'query' => 'select * from tbl where 1', 'text' => 'SELECT' . "\n" . ' *' . "\n" . @@ -291,8 +290,8 @@ class FormatTest extends TestCase ' tbl' . '<br/>' . '<span class="sql-reserved">WHERE</span>' . '<br/>' . ' <span class="sql-number">1</span>', - ), - 'typical' => array( + ], + 'typical' => [ 'query' => 'SELECT id, if(id=1,"Si","No") from `tbl` where id = 0 or id = 1 group by id order by id desc limit 1 offset 0', 'text' => 'SELECT' . "\n" . ' id,' . "\n" . @@ -333,8 +332,8 @@ class FormatTest extends TestCase ' id' . '<br/>' . '<span class="sql-reserved">DESC</span>' . '<br/>' . '<span class="sql-reserved">LIMIT</span> <span class="sql-number">1</span> <span class="sql-keyword">OFFSET</span> <span class="sql-number">0</span>', - ), - 'comments' => array( + ], + 'comments' => [ 'query' => 'select /* Comment */ *' . "\n" . 'from tbl # Comment' . "\n" . 'where 1 -- Comment', @@ -356,8 +355,8 @@ class FormatTest extends TestCase ' tbl <span class="sql-comment"># Comment</span>' . '<br/>' . '<span class="sql-reserved">WHERE</span>' . '<br/>' . ' <span class="sql-number">1</span> <span class="sql-comment">-- Comment</span>', - ), - 'strip comments' => array( + ], + 'strip comments' => [ 'query' => 'select /* Comment */ *' . "\n" . 'from tbl # Comment' . "\n" . 'where 1 -- Comment', @@ -379,11 +378,11 @@ class FormatTest extends TestCase ' tbl' . '<br/>' . '<span class="sql-reserved">WHERE</span>' . '<br/>' . ' <span class="sql-number">1</span>', - 'options' => array( + 'options' => [ 'remove_comments' => true, - ), - ), - 'keywords' => array( + ], + ], + 'keywords' => [ 'query' => 'select hex("1")', 'text' => 'SELECT' . "\n" . ' HEX("1")', @@ -391,8 +390,8 @@ class FormatTest extends TestCase " \x1b[95mHEX\x1b[39m(\x1b[91m\"1\"\x1b[39m)" . "\x1b[0m", 'html' => '<span class="sql-reserved">SELECT</span>' . '<br/>' . ' <span class="sql-keyword">HEX</span>(<span class="sql-string">"1"</span>)', - ), - 'distinct count' => array( + ], + 'distinct count' => [ 'query' => 'select distinct count(*)', 'text' => 'SELECT DISTINCT' . "\n" . ' COUNT(*)', @@ -400,8 +399,8 @@ class FormatTest extends TestCase " \x1b[95mCOUNT\x1b[39m(*)" . "\x1b[0m", 'html' => '<span class="sql-reserved">SELECT</span> <span class="sql-reserved">DISTINCT</span>' . '<br/>' . ' <span class="sql-keyword">COUNT</span>(*)', - ), - 'create procedure' => array( + ], + 'create procedure' => [ 'query' => 'create procedure test_procedure() begin from tbl select *; end', 'text' => 'CREATE PROCEDURE test_procedure()' . "\n" . 'BEGIN' . "\n" . @@ -424,8 +423,8 @@ class FormatTest extends TestCase ' <span class="sql-reserved">SELECT</span>' . '<br/>' . ' *;' . '<br/>' . '<span class="sql-keyword">END</span>', - ), - 'insert' => array( + ], + 'insert' => [ 'query' => 'insert into foo values (0, 0, 0), (1, 1, 1)', 'text' => 'INSERT INTO foo' . "\n" . 'VALUES(0, 0, 0),(1, 1, 1)', @@ -433,8 +432,8 @@ class FormatTest extends TestCase "\x1b[35mVALUES\x1b[39m(\x1b[92m0\x1b[39m, \x1b[92m0\x1b[39m, \x1b[92m0\x1b[39m),(\x1b[92m1\x1b[39m, \x1b[92m1\x1b[39m, \x1b[92m1\x1b[39m)" . "\x1b[0m", 'html' => '<span class="sql-reserved">INSERT</span> <span class="sql-reserved">INTO</span> foo' . '<br/>' . '<span class="sql-reserved">VALUES</span>(<span class="sql-number">0</span>, <span class="sql-number">0</span>, <span class="sql-number">0</span>),(<span class="sql-number">1</span>, <span class="sql-number">1</span>, <span class="sql-number">1</span>)', - ), - 'string as alias' => array( + ], + 'string as alias' => [ 'query' => 'select "Text" as bar', 'text' => 'SELECT' . "\n" . ' "Text" AS bar', @@ -442,8 +441,8 @@ class FormatTest extends TestCase " \x1b[91m\"Text\" \x1b[35mAS \x1b[39mbar" . "\x1b[0m", 'html' => '<span class="sql-reserved">SELECT</span>' . '<br/>' . ' <span class="sql-string">"Text"</span> <span class="sql-reserved">AS</span> bar', - ), - 'escape cli' => array( + ], + 'escape cli' => [ 'query' => "select 'text\x1b[33mcolor-inj'", 'text' => 'SELECT' . "\n" . " 'text\x1B[33mcolor-inj'", @@ -451,8 +450,8 @@ class FormatTest extends TestCase " \x1b[91m'text\\x1B[33mcolor-inj'" . "\x1b[0m", 'html' => '<span class="sql-reserved">SELECT</span>' . '<br/>' . ' <span class="sql-string">\'text' . "\x1b[33m" . 'color-inj\'</span>', - ), - 'escape html' => array( + ], + 'escape html' => [ 'query' => "select '<s>xss' from `<s>xss` , <s>nxss /*s<s>xss*/", 'text' => 'SELECT' . "\n" . ' \'<s>xss\'' . "\n" . @@ -468,8 +467,8 @@ class FormatTest extends TestCase ' <span class="sql-string">\'<s>xss\'</span>' . '<br/>' . '<span class="sql-reserved">FROM</span>' . '<br/>' . ' <span class="sql-variable">`<s>xss`</span>,<br/> < s > nxss <span class="sql-comment">/*s<s>xss*/</span>', - ), - 'create table' => array( + ], + 'create table' => [ 'query' => 'create table if not exists `pma__bookmark` (' . "\n" . '`id` int(11) not null auto_increment,' . "\n" . '`dbase` varchar(255) not null default "",' . "\n" . @@ -498,14 +497,14 @@ class FormatTest extends TestCase ' <span class="sql-variable">`label`</span> <span class="sql-reserved">VARCHAR</span>(<span class="sql-number">255</span>) <span class="sql-reserved">COLLATE</span> utf8_general_ci <span class="sql-reserved">NOT NULL</span> <span class="sql-reserved">DEFAULT</span> <span class="sql-string">""</span>,' . '<br/>' . ' <span class="sql-variable">`query`</span> <span class="sql-keyword">TEXT</span> <span class="sql-reserved">NOT NULL</span>,' . '<br/>' . ' <span class="sql-reserved">PRIMARY KEY</span>(<span class="sql-variable">`id`</span>)', - ), - 'join' => array( + ], + 'join' => [ 'query' => 'join tbl2 on c1=c2', 'text' => 'JOIN tbl2 ON c1 = c2', 'cli' => "\x1b[35mJOIN \x1b[39mtbl2 \x1b[35mON \x1b[39mc1 = c2" . "\x1b[0m", 'html' => '<span class="sql-reserved">JOIN</span> tbl2 <span class="sql-reserved">ON</span> c1 = c2', - ), - ); + ], + ]; } } diff --git a/tests/Utils/MiscTest.php b/tests/Utils/MiscTest.php index c6b03a2..01a2926 100644 --- a/tests/Utils/MiscTest.php +++ b/tests/Utils/MiscTest.php @@ -24,104 +24,104 @@ class MiscTest extends TestCase public function getAliasesProvider() { - return array( - array( + return [ + [ 'select * from (select 1) tbl', 'mydb', - array(), - ), - array( + [], + ], + [ 'select i.name as `n`,abcdef gh from qwerty i', 'mydb', - array( - 'mydb' => array( + [ + 'mydb' => [ 'alias' => null, - 'tables' => array( - 'qwerty' => array( + 'tables' => [ + 'qwerty' => [ 'alias' => 'i', - 'columns' => array( + 'columns' => [ 'name' => 'n', 'abcdef' => 'gh', - ), - ), - ), - ), - ), - ), - array( + ], + ], + ], + ], + ], + ], + [ 'select film_id id,title from film', 'sakila', - array( - 'sakila' => array( + [ + 'sakila' => [ 'alias' => null, - 'tables' => array( - 'film' => array( + 'tables' => [ + 'film' => [ 'alias' => null, - 'columns' => array( + 'columns' => [ 'film_id' => 'id', - ), - ), - ), - ), - ), - ), - array( + ], + ], + ], + ], + ], + ], + [ 'select `sakila`.`A`.`actor_id` as aid,`F`.`film_id` `fid`,' . 'last_update updated from `sakila`.actor A join `film_actor` as ' . '`F` on F.actor_id = A.`actor_id`', 'sakila', - array( - 'sakila' => array( + [ + 'sakila' => [ 'alias' => null, - 'tables' => array( - 'film_actor' => array( + 'tables' => [ + 'film_actor' => [ 'alias' => 'F', - 'columns' => array( + 'columns' => [ 'film_id' => 'fid', 'last_update' => 'updated', - ), - ), - 'actor' => array( + ], + ], + 'actor' => [ 'alias' => 'A', - 'columns' => array( + 'columns' => [ 'actor_id' => 'aid', 'last_update' => 'updated', - ), - ), - ), - ), - ), - ), - array( + ], + ], + ], + ], + ], + ], + [ 'SELECT film_id FROM (SELECT * FROM film) as f;', 'sakila', - array(), - ), - array( + [], + ], + [ '', null, - array(), - ), - array( + [], + ], + [ 'SELECT 1', null, - array(), - ), - array( + [], + ], + [ 'SELECT * FROM orders AS ord WHERE 1', 'db', - array( - 'db' => array( + [ + 'db' => [ 'alias' => null, - 'tables' => array( - 'orders' => array( + 'tables' => [ + 'orders' => [ 'alias' => 'ord', - 'columns' => array(), - ), - ), - ), - ), - ), - ); + 'columns' => [], + ], + ], + ], + ], + ], + ]; } } diff --git a/tests/Utils/QueryTest.php b/tests/Utils/QueryTest.php index 8cb9f85..6991870 100644 --- a/tests/Utils/QueryTest.php +++ b/tests/Utils/QueryTest.php @@ -25,257 +25,257 @@ class QueryTest extends TestCase public function testGetFlagsProvider() { - return array( - array( + return [ + [ 'ALTER TABLE DROP col', - array( + [ 'reload' => true, 'querytype' => 'ALTER', - ), - ), - array( + ], + ], + [ 'CALL test()', - array( + [ 'is_procedure' => true, 'querytype' => 'CALL', - ), - ), - array( + ], + ], + [ 'CREATE TABLE tbl (id INT)', - array( + [ 'reload' => true, 'querytype' => 'CREATE', - ), - ), - array( + ], + ], + [ 'CHECK TABLE tbl', - array( + [ 'is_maint' => true, 'querytype' => 'CHECK', - ), - ), - array( + ], + ], + [ 'DELETE FROM tbl', - array( + [ 'is_affected' => true, 'is_delete' => true, 'querytype' => 'DELETE', - ), - ), - array( + ], + ], + [ 'DROP VIEW v', - array( + [ 'reload' => true, 'querytype' => 'DROP', - ), - ), - array( + ], + ], + [ 'DROP DATABASE db', - array( + [ 'drop_database' => true, 'reload' => true, 'querytype' => 'DROP', - ), - ), - array( + ], + ], + [ 'EXPLAIN tbl', - array( + [ 'is_explain' => true, 'querytype' => 'EXPLAIN', - ), - ), - array( + ], + ], + [ 'LOAD DATA INFILE \'/tmp/test.txt\' INTO TABLE test', - array( + [ 'is_affected' => true, 'is_insert' => true, 'querytype' => 'LOAD', - ), - ), - array( + ], + ], + [ 'INSERT INTO tbl VALUES (1)', - array( + [ 'is_affected' => true, 'is_insert' => true, 'querytype' => 'INSERT', - ), - ), - array( + ], + ], + [ 'REPLACE INTO tbl VALUES (2)', - array( + [ 'is_affected' => true, 'is_replace' => true, 'is_insert' => true, 'querytype' => 'REPLACE', - ), - ), - array( + ], + ], + [ 'SELECT 1', - array( + [ 'is_select' => true, 'querytype' => 'SELECT', - ), - ), - array( + ], + ], + [ 'SELECT * FROM tbl', - array( + [ 'is_select' => true, 'select_from' => true, 'querytype' => 'SELECT', - ), - ), - array( + ], + ], + [ 'SELECT DISTINCT * FROM tbl LIMIT 0, 10 ORDER BY id', - array( + [ 'distinct' => true, 'is_select' => true, 'select_from' => true, 'limit' => true, 'order' => true, 'querytype' => 'SELECT', - ), - ), - array( + ], + ], + [ 'SELECT * FROM actor GROUP BY actor_id', - array( + [ 'is_group' => true, 'is_select' => true, 'select_from' => true, 'group' => true, 'querytype' => 'SELECT', - ), - ), - array( + ], + ], + [ 'SELECT col1, col2 FROM table1 PROCEDURE ANALYSE(10, 2000);', - array( + [ 'is_analyse' => true, 'is_select' => true, 'select_from' => true, 'querytype' => 'SELECT', - ), - ), - array( + ], + ], + [ 'SELECT * FROM tbl INTO OUTFILE "/tmp/export.txt"', - array( + [ 'is_export' => true, 'is_select' => true, 'select_from' => true, 'querytype' => 'SELECT', - ), - ), - array( + ], + ], + [ 'SELECT COUNT(id), SUM(id) FROM tbl', - array( + [ 'is_count' => true, 'is_func' => true, 'is_select' => true, 'select_from' => true, 'querytype' => 'SELECT', - ), - ), - array( + ], + ], + [ 'SELECT (SELECT "foo")', - array( + [ 'is_select' => true, 'is_subquery' => true, 'querytype' => 'SELECT', - ), - ), - array( + ], + ], + [ 'SELECT * FROM customer HAVING store_id = 2;', - array( + [ 'is_select' => true, 'select_from' => true, 'is_group' => true, 'having' => true, 'querytype' => 'SELECT', - ), - ), - array( + ], + ], + [ 'SELECT * FROM table1 INNER JOIN table2 ON table1.id=table2.id;', - array( + [ 'is_select' => true, 'select_from' => true, 'join' => true, 'querytype' => 'SELECT', - ), - ), - array( + ], + ], + [ 'SHOW CREATE TABLE tbl', - array( + [ 'is_show' => true, 'querytype' => 'SHOW', - ), - ), - array( + ], + ], + [ 'UPDATE tbl SET id = 1', - array( + [ 'is_affected' => true, 'querytype' => 'UPDATE', - ), - ), - array( + ], + ], + [ 'ANALYZE TABLE tbl', - array( + [ 'is_maint' => true, 'querytype' => 'ANALYZE', - ), - ), - array( + ], + ], + [ 'CHECKSUM TABLE tbl', - array( + [ 'is_maint' => true, 'querytype' => 'CHECKSUM', - ), - ), - array( + ], + ], + [ 'OPTIMIZE TABLE tbl', - array( + [ 'is_maint' => true, 'querytype' => 'OPTIMIZE', - ), - ), - array( + ], + ], + [ 'REPAIR TABLE tbl', - array( + [ 'is_maint' => true, 'querytype' => 'REPAIR', - ), - ), - array( + ], + ], + [ '(SELECT a FROM t1 WHERE a=10 AND B=1 ORDER BY a LIMIT 10) ' . 'UNION ' . '(SELECT a FROM t2 WHERE a=11 AND B=2 ORDER BY a LIMIT 10);', - array( + [ 'is_select' => true, 'select_from' => true, 'limit' => true, 'order' => true, 'union' => true, 'querytype' => 'SELECT', - ), - ), - array( + ], + ], + [ 'SELECT * FROM orders AS ord WHERE 1', - array( + [ 'querytype' => 'SELECT', 'is_select' => true, 'select_from' => true, - ), - ), - array( + ], + ], + [ 'SET NAMES \'latin\'', - array( + [ 'querytype' => 'SET', - ), - ), - ); + ], + ], + ]; } public function testGetAll() { $this->assertEquals( - array( + [ 'distinct' => false, 'drop_database' => false, 'group' => false, @@ -303,7 +303,7 @@ class QueryTest extends TestCase 'reload' => false, 'select_from' => false, 'union' => false, - ), + ], Query::getAll('') ); @@ -313,15 +313,21 @@ class QueryTest extends TestCase $this->assertEquals( array_merge( Query::getFlags($parser->statements[0], true), - array( + [ 'parser' => $parser, 'statement' => $parser->statements[0], - 'select_expr' => array('*'), - 'select_tables' => array( - array('actor', null), - array('film', 'sakila2'), - ), - ) + 'select_expr' => ['*'], + 'select_tables' => [ + [ + 'actor', + null, + ], + [ + 'film', + 'sakila2', + ], + ], + ] ), Query::getAll($query) ); @@ -331,15 +337,21 @@ class QueryTest extends TestCase $this->assertEquals( array_merge( Query::getFlags($parser->statements[0], true), - array( + [ 'parser' => $parser, 'statement' => $parser->statements[0], - 'select_expr' => array('*'), - 'select_tables' => array( - array('actor', 'sakila'), - array('film', null), - ), - ) + 'select_expr' => ['*'], + 'select_tables' => [ + [ + 'actor', + 'sakila', + ], + [ + 'film', + null, + ], + ], + ] ), Query::getAll($query) ); @@ -349,14 +361,17 @@ class QueryTest extends TestCase $this->assertEquals( array_merge( Query::getFlags($parser->statements[0], true), - array( + [ 'parser' => $parser, 'statement' => $parser->statements[0], - 'select_expr' => array(), - 'select_tables' => array( - array('actor', 'sakila'), - ), - ) + 'select_expr' => [], + 'select_tables' => [ + [ + 'actor', + 'sakila', + ], + ], + ] ), Query::getAll($query) ); @@ -366,14 +381,14 @@ class QueryTest extends TestCase $this->assertEquals( array_merge( Query::getFlags($parser->statements[0], true), - array( + [ 'parser' => $parser, 'statement' => $parser->statements[0], - 'select_expr' => array( + 'select_expr' => [ 'CASE WHEN 2 IS NULL THEN "this is true" ELSE "this is false" END', - ), - 'select_tables' => array(), - ) + ], + 'select_tables' => [], + ] ), Query::getAll($query) ); @@ -396,36 +411,42 @@ class QueryTest extends TestCase public function testGetTablesProvider() { - return array( - array( + return [ + [ 'INSERT INTO tbl(`id`, `name`) VALUES (1, "Name")', - array('`tbl`'), - ), - array( + ['`tbl`'], + ], + [ 'UPDATE tbl SET id = 0', - array('`tbl`'), - ), - array( + ['`tbl`'], + ], + [ 'DELETE FROM tbl WHERE id < 10', - array('`tbl`'), - ), - array( + ['`tbl`'], + ], + [ 'TRUNCATE tbl', - array('`tbl`'), - ), - array( + ['`tbl`'], + ], + [ 'DROP VIEW v', - array(), - ), - array( + [], + ], + [ 'DROP TABLE tbl1, tbl2', - array('`tbl1`', '`tbl2`'), - ), - array( + [ + '`tbl1`', + '`tbl2`', + ], + ], + [ 'RENAME TABLE a TO b, c TO d', - array('`a`', '`c`'), - ), - ); + [ + '`a`', + '`c`', + ], + ], + ]; } public function testGetClause() @@ -494,7 +515,7 @@ class QueryTest extends TestCase public function testReplaceClauses() { - $this->assertEquals('', Query::replaceClauses(null, null, array())); + $this->assertEquals('', Query::replaceClauses(null, null, [])); $parser = new Parser('SELECT *, (SELECT 1) FROM film LIMIT 0, 10;'); $this->assertEquals( @@ -502,9 +523,12 @@ class QueryTest extends TestCase Query::replaceClauses( $parser->statements[0], $parser->list, - array( - array('WHERE', 'WHERE film_id > 0'), - ) + [ + [ + 'WHERE', + 'WHERE film_id > 0', + ], + ] ) ); @@ -525,11 +549,20 @@ class QueryTest extends TestCase Query::replaceClauses( $parser->statements[0], $parser->list, - array( - array('FROM', 'FROM city AS c'), - array('WHERE', ''), - array('LIMIT', 'LIMIT 0, 10'), - ) + [ + [ + 'FROM', + 'FROM city AS c', + ], + [ + 'WHERE', + '', + ], + [ + 'LIMIT', + 'LIMIT 0, 10', + ], + ] ) ); } diff --git a/tests/Utils/RoutineTest.php b/tests/Utils/RoutineTest.php index 3a6ba55..9a7c4ca 100644 --- a/tests/Utils/RoutineTest.php +++ b/tests/Utils/RoutineTest.php @@ -20,33 +20,88 @@ class RoutineTest extends TestCase public function getReturnTypeProvider() { - return array( - array('', array('', '', '', '', '')), - array('TEXT', array('', '', 'TEXT', '', '')), - array('INT(20)', array('', '', 'INT', '20', '')), - array( + return [ + [ + '', + [ + '', + '', + '', + '', + '', + ], + ], + [ + 'TEXT', + [ + '', + '', + 'TEXT', + '', + '', + ], + ], + [ + 'INT(20)', + [ + '', + '', + 'INT', + '20', + '', + ], + ], + [ 'INT UNSIGNED', - array('', '', 'INT', '', 'UNSIGNED'), - ), - array( + [ + '', + '', + 'INT', + '', + 'UNSIGNED', + ], + ], + [ 'VARCHAR(1) CHARSET utf8', - array('', '', 'VARCHAR', '1', 'utf8'), - ), - array( + [ + '', + '', + 'VARCHAR', + '1', + 'utf8', + ], + ], + [ 'ENUM(\'a\', \'b\') CHARSET latin1', - array('', '', 'ENUM', '\'a\',\'b\'', 'latin1'), - ), - array( + [ + '', + '', + 'ENUM', + '\'a\',\'b\'', + 'latin1', + ], + ], + [ 'DECIMAL(5,2) UNSIGNED ZEROFILL', - array('', '', 'DECIMAL', '5,2', 'UNSIGNED ZEROFILL'), - ), - array( + [ + '', + '', + 'DECIMAL', + '5,2', + 'UNSIGNED ZEROFILL', + ], + ], + [ 'SET(\'test\'\'esc"\', \'more\\\'esc\')', - array( - '', '', 'SET', '\'test\'\'esc"\',\'more\\\'esc\'', '', - ), - ), - ); + [ + '', + '', + 'SET', + '\'test\'\'esc"\',\'more\\\'esc\'', + '', + ], + ], + ]; } /** @@ -61,33 +116,88 @@ class RoutineTest extends TestCase public function getParameterProvider() { - return array( - array('', array('', '', '', '', '')), - array('`foo` TEXT', array('', 'foo', 'TEXT', '', '')), - array('`foo` INT(20)', array('', 'foo', 'INT', '20', '')), - array( + return [ + [ + '', + [ + '', + '', + '', + '', + '', + ], + ], + [ + '`foo` TEXT', + [ + '', + 'foo', + 'TEXT', + '', + '', + ], + ], + [ + '`foo` INT(20)', + [ + '', + 'foo', + 'INT', + '20', + '', + ], + ], + [ 'IN `fo``fo` INT UNSIGNED', - array('IN', 'fo`fo', 'INT', '', 'UNSIGNED'), - ), - array( + [ + 'IN', + 'fo`fo', + 'INT', + '', + 'UNSIGNED', + ], + ], + [ 'OUT bar VARCHAR(1) CHARSET utf8', - array('OUT', 'bar', 'VARCHAR', '1', 'utf8'), - ), - array( + [ + 'OUT', + 'bar', + 'VARCHAR', + '1', + 'utf8', + ], + ], + [ '`"baz\'\'` ENUM(\'a\', \'b\') CHARSET latin1', - array('', '"baz\'\'', 'ENUM', '\'a\',\'b\'', 'latin1'), - ), - array( + [ + '', + '"baz\'\'', + 'ENUM', + '\'a\',\'b\'', + 'latin1', + ], + ], + [ 'INOUT `foo` DECIMAL(5,2) UNSIGNED ZEROFILL', - array('INOUT', 'foo', 'DECIMAL', '5,2', 'UNSIGNED ZEROFILL'), - ), - array( + [ + 'INOUT', + 'foo', + 'DECIMAL', + '5,2', + 'UNSIGNED ZEROFILL', + ], + ], + [ '`foo``s func` SET(\'test\'\'esc"\', \'more\\\'esc\')', - array( - '', 'foo`s func', 'SET', '\'test\'\'esc"\',\'more\\\'esc\'', '', - ), - ), - ); + [ + '', + 'foo`s func', + 'SET', + '\'test\'\'esc"\',\'more\\\'esc\'', + '', + ], + ], + ]; } /** @@ -103,98 +213,98 @@ class RoutineTest extends TestCase public function getParametersProvider() { - return array( - array( + return [ + [ 'CREATE PROCEDURE `foo`() SET @A=0', - array( + [ 'num' => 0, - 'dir' => array(), - 'name' => array(), - 'type' => array(), - 'length' => array(), - 'length_arr' => array(), - 'opts' => array(), - ), - ), - array( + 'dir' => [], + 'name' => [], + 'type' => [], + 'length' => [], + 'length_arr' => [], + 'opts' => [], + ], + ], + [ 'CREATE DEFINER=`user\\`@`somehost``(` FUNCTION `foo```(`baz` INT) BEGIN SELECT NULL; END', - array( + [ 'num' => 1, - 'dir' => array( + 'dir' => [ 0 => '', - ), - 'name' => array( + ], + 'name' => [ 0 => 'baz', - ), - 'type' => array( + ], + 'type' => [ 0 => 'INT', - ), - 'length' => array( + ], + 'length' => [ 0 => '', - ), - 'length_arr' => array( - 0 => array(), - ), - 'opts' => array( + ], + 'length_arr' => [ + 0 => [], + ], + 'opts' => [ 0 => '', - ), - ), - ), - array( + ], + ], + ], + [ 'CREATE PROCEDURE `foo`(IN `baz\\)` INT(25) zerofill unsigned) BEGIN SELECT NULL; END', - array( + [ 'num' => 1, - 'dir' => array( + 'dir' => [ 0 => 'IN', - ), - 'name' => array( + ], + 'name' => [ 0 => 'baz\\)', - ), - 'type' => array( + ], + 'type' => [ 0 => 'INT', - ), - 'length' => array( + ], + 'length' => [ 0 => '25', - ), - 'length_arr' => array( - 0 => array('25'), - ), - 'opts' => array( + ], + 'length_arr' => [ + 0 => ['25'], + ], + 'opts' => [ 0 => 'UNSIGNED ZEROFILL', - ), - ), - ), - array( + ], + ], + ], + [ 'CREATE PROCEDURE `foo`(IN `baz\\` INT(001) zerofill, out bazz varchar(15) charset utf8) ' . 'BEGIN SELECT NULL; END', - array( + [ 'num' => 2, - 'dir' => array( + 'dir' => [ 0 => 'IN', 1 => 'OUT', - ), - 'name' => array( + ], + 'name' => [ 0 => 'baz\\', 1 => 'bazz', - ), - 'type' => array( + ], + 'type' => [ 0 => 'INT', 1 => 'VARCHAR', - ), - 'length' => array( + ], + 'length' => [ 0 => '1', 1 => '15', - ), - 'length_arr' => array( - 0 => array('1'), - 1 => array('15'), - ), - 'opts' => array( + ], + 'length_arr' => [ + 0 => ['1'], + 1 => ['15'], + ], + 'opts' => [ 0 => 'ZEROFILL', 1 => 'utf8', - ), - ), - ), - ); + ], + ], + ], + ]; } } diff --git a/tests/Utils/TableTest.php b/tests/Utils/TableTest.php index ef21137..fe68100 100644 --- a/tests/Utils/TableTest.php +++ b/tests/Utils/TableTest.php @@ -21,12 +21,12 @@ class TableTest extends TestCase public function getForeignKeysProvider() { - return array( - array( + return [ + [ 'CREATE USER test', - array(), - ), - array( + [], + ], + [ 'CREATE TABLE `payment` ( `payment_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, `customer_id` smallint(5) unsigned NOT NULL, @@ -43,35 +43,35 @@ class TableTest extends TestCase CONSTRAINT `fk_payment_rental` FOREIGN KEY (`rental_id`) REFERENCES `rental` (`rental_id`) ON DELETE SET NULL ON UPDATE CASCADE, CONSTRAINT `fk_payment_staff` FOREIGN KEY (`staff_id`) REFERENCES `staff` (`staff_id`) ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=16050 DEFAULT CHARSET=utf8', - array( - array( + [ + [ 'constraint' => 'fk_payment_customer', - 'index_list' => array('customer_id'), + 'index_list' => ['customer_id'], 'ref_db_name' => null, 'ref_table_name' => 'customer', - 'ref_index_list' => array('customer_id'), + 'ref_index_list' => ['customer_id'], 'on_update' => 'CASCADE', - ), - array( + ], + [ 'constraint' => 'fk_payment_rental', - 'index_list' => array('rental_id'), + 'index_list' => ['rental_id'], 'ref_db_name' => null, 'ref_table_name' => 'rental', - 'ref_index_list' => array('rental_id'), + 'ref_index_list' => ['rental_id'], 'on_delete' => 'SET_NULL', 'on_update' => 'CASCADE', - ), - array( + ], + [ 'constraint' => 'fk_payment_staff', - 'index_list' => array('staff_id'), + 'index_list' => ['staff_id'], 'ref_db_name' => null, 'ref_table_name' => 'staff', - 'ref_index_list' => array('staff_id'), + 'ref_index_list' => ['staff_id'], 'on_update' => 'CASCADE', - ), - ), - ), - array( + ], + ], + ], + [ 'CREATE TABLE `actor` ( `actor_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, `first_name` varchar(45) NOT NULL, @@ -80,9 +80,9 @@ class TableTest extends TestCase PRIMARY KEY (`actor_id`), KEY `idx_actor_last_name` (`last_name`) ) ENGINE=InnoDB AUTO_INCREMENT=201 DEFAULT CHARSET=utf8', - array(), - ), - array( + [], + ], + [ 'CREATE TABLE `address` ( `address_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, `address` varchar(50) NOT NULL, @@ -96,18 +96,18 @@ class TableTest extends TestCase KEY `idx_fk_city_id` (`city_id`), CONSTRAINT `fk_address_city` FOREIGN KEY (`city_id`) REFERENCES `city` (`city_id`) ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=606 DEFAULT CHARSET=utf8', - array( - array( + [ + [ 'constraint' => 'fk_address_city', - 'index_list' => array('city_id'), + 'index_list' => ['city_id'], 'ref_db_name' => null, 'ref_table_name' => 'city', - 'ref_index_list' => array('city_id'), + 'ref_index_list' => ['city_id'], 'on_update' => 'CASCADE', - ), - ), - ), - ); + ], + ], + ], + ]; } /** @@ -123,12 +123,12 @@ class TableTest extends TestCase public function getFieldsProvider() { - return array( - array( + return [ + [ 'CREATE USER test', - array(), - ), - array( + [], + ], + [ 'CREATE TABLE `address` ( `address_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, `address` varchar(50) NOT NULL, @@ -142,76 +142,76 @@ class TableTest extends TestCase KEY `idx_fk_city_id` (`city_id`), CONSTRAINT `fk_address_city` FOREIGN KEY (`city_id`) REFERENCES `city` (`city_id`) ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=606 DEFAULT CHARSET=utf8', - array( - 'address_id' => array( + [ + 'address_id' => [ 'type' => 'SMALLINT', 'timestamp_not_null' => false, - ), - 'address' => array( + ], + 'address' => [ 'type' => 'VARCHAR', 'timestamp_not_null' => false, - ), - 'address2' => array( + ], + 'address2' => [ 'type' => 'VARCHAR', 'timestamp_not_null' => false, 'default_value' => 'NULL', - ), - 'district' => array( + ], + 'district' => [ 'type' => 'VARCHAR', 'timestamp_not_null' => false, - ), - 'city_id' => array( + ], + 'city_id' => [ 'type' => 'SMALLINT', 'timestamp_not_null' => false, - ), - 'postal_code' => array( + ], + 'postal_code' => [ 'type' => 'VARCHAR', 'timestamp_not_null' => false, 'default_value' => 'NULL', - ), - 'phone' => array( + ], + 'phone' => [ 'type' => 'VARCHAR', 'timestamp_not_null' => false, - ), - 'last_update' => array( + ], + 'last_update' => [ 'type' => 'TIMESTAMP', 'timestamp_not_null' => true, 'default_value' => 'CURRENT_TIMESTAMP', 'default_current_timestamp' => true, 'on_update_current_timestamp' => true, - ), - ), - ), - array( + ], + ], + ], + [ 'CREATE TABLE table1 ( a INT NOT NULL, b VARCHAR(32), c INT AS (a mod 10) VIRTUAL, d VARCHAR(5) AS (left(b,5)) PERSISTENT )', - array( - 'a' => array( + [ + 'a' => [ 'type' => 'INT', 'timestamp_not_null' => false, - ), - 'b' => array( + ], + 'b' => [ 'type' => 'VARCHAR', 'timestamp_not_null' => false, - ), - 'c' => array( + ], + 'c' => [ 'type' => 'INT', 'timestamp_not_null' => false, 'generated' => true, 'expr' => '(a mod 10)', - ), - 'd' => array( + ], + 'd' => [ 'type' => 'VARCHAR', 'timestamp_not_null' => false, 'generated' => true, 'expr' => '(left(b,5))', - ), - ), - ), - ); + ], + ], + ], + ]; } } diff --git a/tests/Utils/TokensTest.php b/tests/Utils/TokensTest.php index 5e268ec..533021c 100644 --- a/tests/Utils/TokensTest.php +++ b/tests/Utils/TokensTest.php @@ -23,20 +23,20 @@ class TokensTest extends TestCase public function replaceTokensProvider() { - return array( - array( + return [ + [ 'SELECT * FROM /*x*/a/*c*/.b', - array( - array('value_str' => 'a'), - array('token' => '.'), - ), - array( + [ + ['value_str' => 'a'], + ['token' => '.'], + ], + [ new Token('c'), new Token('.'), - ), + ], 'SELECT * FROM /*x*/c.b', - ), - ); + ], + ]; } /** @@ -53,60 +53,64 @@ class TokensTest extends TestCase public function matchProvider() { - return array( - array(new Token(''), array(), true), + return [ + [ + new Token(''), + [], + true, + ], - array( + [ new Token('"abc"', Token::TYPE_STRING, Token::FLAG_STRING_DOUBLE_QUOTES), - array('token' => '"abc"'), + ['token' => '"abc"'], true, - ), - array( + ], + [ new Token('"abc"', Token::TYPE_STRING, Token::FLAG_STRING_DOUBLE_QUOTES), - array('value' => 'abc'), + ['value' => 'abc'], true, - ), - array( + ], + [ new Token('"abc"', Token::TYPE_STRING, Token::FLAG_STRING_DOUBLE_QUOTES), - array('value_str' => 'ABC'), + ['value_str' => 'ABC'], true, - ), - array( + ], + [ new Token('"abc"', Token::TYPE_STRING, Token::FLAG_STRING_DOUBLE_QUOTES), - array('type' => Token::TYPE_STRING), + ['type' => Token::TYPE_STRING], true, - ), - array( + ], + [ new Token('"abc"', Token::TYPE_STRING, Token::FLAG_STRING_DOUBLE_QUOTES), - array('flags' => Token::FLAG_STRING_DOUBLE_QUOTES), + ['flags' => Token::FLAG_STRING_DOUBLE_QUOTES], true, - ), + ], - array( + [ new Token('"abc"', Token::TYPE_STRING, Token::FLAG_STRING_DOUBLE_QUOTES), - array('token' => '"abcd"'), + ['token' => '"abcd"'], false, - ), - array( + ], + [ new Token('"abc"', Token::TYPE_STRING, Token::FLAG_STRING_DOUBLE_QUOTES), - array('value' => 'abcd'), + ['value' => 'abcd'], false, - ), - array( + ], + [ new Token('"abc"', Token::TYPE_STRING, Token::FLAG_STRING_DOUBLE_QUOTES), - array('value_str' => 'ABCd'), + ['value_str' => 'ABCd'], false, - ), - array( + ], + [ new Token('"abc"', Token::TYPE_STRING, Token::FLAG_STRING_DOUBLE_QUOTES), - array('type' => Token::TYPE_NUMBER), + ['type' => Token::TYPE_NUMBER], false, - ), - array( + ], + [ new Token('"abc"', Token::TYPE_STRING, Token::FLAG_STRING_DOUBLE_QUOTES), - array('flags' => Token::FLAG_STRING_SINGLE_QUOTES), + ['flags' => Token::FLAG_STRING_SINGLE_QUOTES], false, - ), - ); + ], + ]; } } |