summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorIsaac Bennetch <bennetch@gmail.com>2019-05-09 20:38:20 -0400
committerIsaac Bennetch <bennetch@gmail.com>2019-05-09 20:40:17 -0400
commit87728c4a90df247b2f8c89e53c664621ff6317a2 (patch)
tree20dd75f4a3c5039d82efccf05624e93d6d0f6746 /tests
parentb032d820233cce11b5488981e29db53738fb9c0c (diff)
parent218aae91f0dc41fb728946459c4387f958a8f1cc (diff)
downloadsql-parser-87728c4a90df247b2f8c89e53c664621ff6317a2.zip
sql-parser-87728c4a90df247b2f8c89e53c664621ff6317a2.tar.gz
sql-parser-87728c4a90df247b2f8c89e53c664621ff6317a2.tar.bz2
Fix merge conflicts for pull request #242
Signed-off-by: Isaac Bennetch <bennetch@gmail.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/Lexer/TokenTest.php6
-rw-r--r--tests/Utils/FormatterTest.php42
2 files changed, 48 insertions, 0 deletions
diff --git a/tests/Lexer/TokenTest.php b/tests/Lexer/TokenTest.php
index 370824e..ba61e32 100644
--- a/tests/Lexer/TokenTest.php
+++ b/tests/Lexer/TokenTest.php
@@ -75,6 +75,12 @@ class TokenTest extends TestCase
$tok = new Token('@`foo`', Token::TYPE_SYMBOL, Token::FLAG_SYMBOL_VARIABLE);
$this->assertEquals($tok->value, 'foo');
+
+ $tok = new Token(':foo', Token::TYPE_SYMBOL, Token::FLAG_SYMBOL_PARAMETER);
+ $this->assertEquals($tok->value, 'foo');
+
+ $tok = new Token('?', Token::TYPE_SYMBOL, Token::FLAG_SYMBOL_PARAMETER);
+ $this->assertEquals($tok->value, '?');
}
public function testInlineToken()
diff --git a/tests/Utils/FormatterTest.php b/tests/Utils/FormatterTest.php
index de9ed8b..08b7377 100644
--- a/tests/Utils/FormatterTest.php
+++ b/tests/Utils/FormatterTest.php
@@ -506,6 +506,48 @@ class FormatterTest extends TestCase
"\x1b[0m",
'html' => '<span class="sql-reserved">JOIN</span> tbl2 <span class="sql-reserved">ON</span> c1 = c2',
],
+ 'named param' => [
+ 'query' => 'select * from tbl where col = :param',
+ 'text' => 'SELECT' . "\n" .
+ ' *' . "\n" .
+ 'FROM' . "\n" .
+ ' tbl' . "\n" .
+ 'WHERE' . "\n" .
+ ' col = :param',
+ 'cli' => "\x1b[35mSELECT" . "\n" .
+ " \x1b[39m*" . "\n" .
+ "\x1b[35mFROM" . "\n" .
+ " \x1b[39mtbl" . "\n" .
+ "\x1b[35mWHERE" . "\n" .
+ " \x1b[39mcol = \x1b[31m:param" . "\x1b[0m",
+ 'html' => '<span class="sql-reserved">SELECT</span>' . '<br/>' .
+ '&nbsp;&nbsp;&nbsp;&nbsp;*' . '<br/>' .
+ '<span class="sql-reserved">FROM</span>' . '<br/>' .
+ '&nbsp;&nbsp;&nbsp;&nbsp;tbl' . '<br/>' .
+ '<span class="sql-reserved">WHERE</span>' . '<br/>' .
+ '&nbsp;&nbsp;&nbsp;&nbsp;col = <span class="sql-parameter">:param</span>',
+ ],
+ 'anon param' => [
+ 'query' => 'select * from tbl where col = ?',
+ 'text' => 'SELECT' . "\n" .
+ ' *' . "\n" .
+ 'FROM' . "\n" .
+ ' tbl' . "\n" .
+ 'WHERE' . "\n" .
+ ' col = ?',
+ 'cli' => "\x1b[35mSELECT" . "\n" .
+ " \x1b[39m*" . "\n" .
+ "\x1b[35mFROM" . "\n" .
+ " \x1b[39mtbl" . "\n" .
+ "\x1b[35mWHERE" . "\n" .
+ " \x1b[39mcol = \x1b[31m?" . "\x1b[0m",
+ 'html' => '<span class="sql-reserved">SELECT</span>' . '<br/>' .
+ '&nbsp;&nbsp;&nbsp;&nbsp;*' . '<br/>' .
+ '<span class="sql-reserved">FROM</span>' . '<br/>' .
+ '&nbsp;&nbsp;&nbsp;&nbsp;tbl' . '<br/>' .
+ '<span class="sql-reserved">WHERE</span>' . '<br/>' .
+ '&nbsp;&nbsp;&nbsp;&nbsp;col = <span class="sql-parameter">?</span>',
+ ],
];
}
}