@@ -28,9 +28,9 @@ public function testToken()
28
28
/**
29
29
* @dataProvider dataTestStringTokenization
30
30
*/
31
- public function testStringTokenization ()
31
+ public function testStringTokenization (string $ query )
32
32
{
33
- $ scanner = new Sql2Scanner (' SELECT page.* FROM [nt:unstructured] AS page WHERE name ="Hello world" ' );
33
+ $ scanner = new Sql2Scanner ($ query );
34
34
$ expected = [
35
35
'SELECT ' ,
36
36
'page ' ,
@@ -49,7 +49,7 @@ public function testStringTokenization()
49
49
$ this ->expectTokensFromScanner ($ scanner , $ expected );
50
50
}
51
51
52
- public function dataTestStringTokenization ()
52
+ public function dataTestStringTokenization (): array
53
53
{
54
54
$ multilineQuery = <<<'SQL'
55
55
SELECT page.*
@@ -124,7 +124,7 @@ public function testSQLEscapedStrings2()
124
124
$ this ->expectTokensFromScanner ($ scanner , $ expected );
125
125
}
126
126
127
- public function testSquareBrakets ()
127
+ public function testSquareBrackets ()
128
128
{
129
129
$ sql = 'WHERE ISSAMENODE(file, ["/home node"]) ' ;
130
130
@@ -144,6 +144,25 @@ public function testSquareBrakets()
144
144
$ this ->expectTokensFromScanner ($ scanner , $ expected );
145
145
}
146
146
147
+ public function testSquareBracketsWithoutQuotes ()
148
+ {
149
+ $ sql = 'WHERE ISSAMENODE(file, [/home node]) ' ;
150
+
151
+ $ scanner = new Sql2Scanner ($ sql );
152
+ $ expected = [
153
+ 'WHERE ' ,
154
+ 'ISSAMENODE ' ,
155
+ '( ' ,
156
+ 'file ' ,
157
+ ', ' ,
158
+ '[/home ' ,
159
+ 'node] ' ,
160
+ ') ' ,
161
+ ];
162
+
163
+ $ this ->expectTokensFromScanner ($ scanner , $ expected );
164
+ }
165
+
147
166
public function testTokenizingWithMissingSpaces ()
148
167
{
149
168
$ sql = 'SELECT * AS"all" ' ;
0 commit comments