@@ -30,17 +30,22 @@ public function setUp(): void
3030 new Token (' ' , Token::TYPE_WHITESPACE ),
3131 new Token ('* ' , Token::TYPE_OPERATOR ),
3232 new Token (' ' , Token::TYPE_WHITESPACE ),
33- new Token ('FROM ' , Token::TYPE_KEYWORD ),
33+ new Token ('FROM ' , Token::TYPE_KEYWORD , Token:: FLAG_KEYWORD_RESERVED ),
3434 new Token (' ' , Token::TYPE_WHITESPACE ),
3535 new Token ('`test` ' , Token::TYPE_SYMBOL ),
3636 new Token (' ' , Token::TYPE_WHITESPACE ),
37+ new Token ('WHERE ' , Token::TYPE_KEYWORD , Token::FLAG_KEYWORD_RESERVED ),
38+ new Token (' ' , Token::TYPE_WHITESPACE ),
39+ new Token ('name ' , Token::TYPE_NONE ),
40+ new Token ('= ' , Token::TYPE_OPERATOR ),
41+ new Token ('fa ' , Token::TYPE_NONE ),
3742 ];
3843 }
3944
4045 public function testBuild (): void
4146 {
4247 $ list = new TokensList ($ this ->tokens );
43- $ this ->assertEquals ('SELECT * FROM `test` ' , TokensList::build ($ list ));
48+ $ this ->assertEquals ('SELECT * FROM `test` WHERE name=fa ' , TokensList::build ($ list ));
4449 }
4550
4651 public function testAdd (): void
@@ -60,6 +65,10 @@ public function testGetNext(): void
6065 $ this ->assertEquals ($ this ->tokens [2 ], $ list ->getNext ());
6166 $ this ->assertEquals ($ this ->tokens [4 ], $ list ->getNext ());
6267 $ this ->assertEquals ($ this ->tokens [6 ], $ list ->getNext ());
68+ $ this ->assertEquals ($ this ->tokens [8 ], $ list ->getNext ());
69+ $ this ->assertEquals ($ this ->tokens [10 ], $ list ->getNext ());
70+ $ this ->assertEquals ($ this ->tokens [11 ], $ list ->getNext ());
71+ $ this ->assertEquals ($ this ->tokens [12 ], $ list ->getNext ());
6372 $ this ->assertNull ($ list ->getNext ());
6473 }
6574
@@ -78,9 +87,24 @@ public function testGetNextOfType(): void
7887 $ list = new TokensList ($ this ->tokens );
7988 $ this ->assertEquals ($ this ->tokens [0 ], $ list ->getNextOfType (Token::TYPE_KEYWORD ));
8089 $ this ->assertEquals ($ this ->tokens [4 ], $ list ->getNextOfType (Token::TYPE_KEYWORD ));
90+ $ this ->assertEquals ($ this ->tokens [8 ], $ list ->getNextOfType (Token::TYPE_KEYWORD ));
8191 $ this ->assertNull ($ list ->getNextOfType (Token::TYPE_KEYWORD ));
8292 }
8393
94+ public function testGetNextOfTypeAndFlag (): void
95+ {
96+ $ list = new TokensList ($ this ->tokens );
97+ $ this ->assertEquals ($ this ->tokens [4 ], $ list ->getNextOfTypeAndFlag (
98+ Token::TYPE_KEYWORD ,
99+ Token::FLAG_KEYWORD_RESERVED
100+ ));
101+ $ this ->assertEquals ($ this ->tokens [8 ], $ list ->getNextOfTypeAndFlag (
102+ Token::TYPE_KEYWORD ,
103+ Token::FLAG_KEYWORD_RESERVED
104+ ));
105+ $ this ->assertNull ($ list ->getNextOfTypeAndFlag (Token::TYPE_KEYWORD , Token::FLAG_KEYWORD_RESERVED ));
106+ }
107+
84108 public function testGetNextOfTypeAndValue (): void
85109 {
86110 $ list = new TokensList ($ this ->tokens );
@@ -107,7 +131,7 @@ public function testArrayAccess(): void
107131
108132 // offsetExists($offset)
109133 $ this ->assertArrayHasKey (2 , $ list );
110- $ this ->assertArrayNotHasKey (8 , $ list );
134+ $ this ->assertArrayNotHasKey (13 , $ list );
111135
112136 // offsetUnset($offset)
113137 unset($ list [2 ]);
0 commit comments