diff options
Diffstat (limited to 'tests/units/LexerTest.php')
-rw-r--r-- | tests/units/LexerTest.php | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/units/LexerTest.php b/tests/units/LexerTest.php index 4abe451b..7ba3801c 100644 --- a/tests/units/LexerTest.php +++ b/tests/units/LexerTest.php @@ -66,6 +66,36 @@ class LexerTest extends Base ); } + public function testStatusQuery() + { + $lexer = new Lexer; + + $this->assertEquals( + array(array('match' => 'status:', 'token' => 'T_STATUS'), array('match' => 'open', 'token' => 'T_STRING')), + $lexer->tokenize('status:open') + ); + + $this->assertEquals( + array(array('match' => 'status:', 'token' => 'T_STATUS'), array('match' => 'closed', 'token' => 'T_STRING')), + $lexer->tokenize('status:closed') + ); + + $this->assertEquals( + array('T_STATUS' => 'open'), + $lexer->map($lexer->tokenize('status:open')) + ); + + $this->assertEquals( + array('T_STATUS' => 'closed'), + $lexer->map($lexer->tokenize('status:closed')) + ); + + $this->assertEquals( + array(), + $lexer->map($lexer->tokenize('status: ')) + ); + } + public function testDueDateQuery() { $lexer = new Lexer; |