summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/units/LexerTest.php65
1 files changed, 65 insertions, 0 deletions
diff --git a/tests/units/LexerTest.php b/tests/units/LexerTest.php
index 8710f79a..3b15810e 100644
--- a/tests/units/LexerTest.php
+++ b/tests/units/LexerTest.php
@@ -311,6 +311,71 @@ class LexerTest extends Base
);
}
+ public function testModifiedQuery()
+ {
+ $lexer = new Lexer;
+
+ $this->assertEquals(
+ array(array('match' => 'modified:', 'token' => 'T_UPDATED'), array('match' => '2015-05-01', 'token' => 'T_DATE')),
+ $lexer->tokenize('modified:2015-05-01')
+ );
+
+ $this->assertEquals(
+ array(array('match' => 'modified:', 'token' => 'T_UPDATED'), array('match' => '<2015-05-01', 'token' => 'T_DATE')),
+ $lexer->tokenize('modified:<2015-05-01')
+ );
+
+ $this->assertEquals(
+ array(array('match' => 'modified:', 'token' => 'T_UPDATED'), array('match' => '>2015-05-01', 'token' => 'T_DATE')),
+ $lexer->tokenize('modified:>2015-05-01')
+ );
+
+ $this->assertEquals(
+ array(array('match' => 'updated:', 'token' => 'T_UPDATED'), array('match' => '<=2015-05-01', 'token' => 'T_DATE')),
+ $lexer->tokenize('updated:<=2015-05-01')
+ );
+
+ $this->assertEquals(
+ array(array('match' => 'updated:', 'token' => 'T_UPDATED'), array('match' => '>=2015-05-01', 'token' => 'T_DATE')),
+ $lexer->tokenize('updated:>=2015-05-01')
+ );
+
+ $this->assertEquals(
+ array(array('match' => 'updated:', 'token' => 'T_UPDATED'), array('match' => 'yesterday', 'token' => 'T_DATE')),
+ $lexer->tokenize('updated:yesterday')
+ );
+
+ $this->assertEquals(
+ array(array('match' => 'updated:', 'token' => 'T_UPDATED'), array('match' => 'tomorrow', 'token' => 'T_DATE')),
+ $lexer->tokenize('updated:tomorrow')
+ );
+
+ $this->assertEquals(
+ array(),
+ $lexer->tokenize('updated:#2015-05-01')
+ );
+
+ $this->assertEquals(
+ array(),
+ $lexer->tokenize('modified:01-05-1024')
+ );
+
+ $this->assertEquals(
+ array('T_UPDATED' => '2015-05-01'),
+ $lexer->map($lexer->tokenize('modified:2015-05-01'))
+ );
+
+ $this->assertEquals(
+ array('T_UPDATED' => '<2015-05-01'),
+ $lexer->map($lexer->tokenize('modified:<2015-05-01'))
+ );
+
+ $this->assertEquals(
+ array('T_UPDATED' => 'today'),
+ $lexer->map($lexer->tokenize('modified:today'))
+ );
+ }
+
public function testMultipleCriterias()
{
$lexer = new Lexer;