summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorFrederic Guillot <fred@kanboard.net>2017-02-05 12:59:39 -0500
committerFrederic Guillot <fred@kanboard.net>2017-02-05 12:59:39 -0500
commit99b3bfae16d51421ac015d94ef7bed69f70f2f78 (patch)
tree0d5f091ecb05c60f884562688a1a123000aa3371 /tests
parenta9a53e05a097f98576612c2959e71fa1ef8f34b4 (diff)
Add unit test for PR #2766
Diffstat (limited to 'tests')
-rw-r--r--tests/units/Core/Filter/LexerBuilderTest.php25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/units/Core/Filter/LexerBuilderTest.php b/tests/units/Core/Filter/LexerBuilderTest.php
index 31e237dc..82d359d6 100644
--- a/tests/units/Core/Filter/LexerBuilderTest.php
+++ b/tests/units/Core/Filter/LexerBuilderTest.php
@@ -149,4 +149,29 @@ class LexerBuilderTest extends Base
$this->assertEquals('Test 1', $tasks[0]['title']);
$this->assertEquals('Test 2', $tasks[1]['title']);
}
+
+ public function testWithMultipleExpressionsWithQuotes()
+ {
+ $taskFinder = new TaskFinderModel($this->container);
+ $taskCreation = new TaskCreationModel($this->container);
+ $projectModel = new ProjectModel($this->container);
+ $userModel = new UserModel($this->container);
+ $query = $taskFinder->getExtendedQuery();
+
+ $this->assertEquals(2, $userModel->create(array('username' => 'foobar', 'name' => 'Foo Bar')));
+ $this->assertEquals(1, $projectModel->create(array('name' => 'Test')));
+ $this->assertEquals(1, $taskCreation->create(array('title' => 'Test 1', 'project_id' => 1, 'owner_id' => 2)));
+ $this->assertEquals(2, $taskCreation->create(array('title' => 'Test 2', 'project_id' => 1, 'owner_id' => 1)));
+ $this->assertEquals(3, $taskCreation->create(array('title' => 'Test 3', 'project_id' => 1, 'owner_id' => 0)));
+
+ $builder = new LexerBuilder();
+ $builder->withFilter(new TaskAssigneeFilter());
+ $builder->withFilter(new TaskTitleFilter(), true);
+ $builder->withQuery($query);
+ $tasks = $builder->build('assignee:"admin" assignee:"foobar"')->toArray();
+
+ $this->assertCount(2, $tasks);
+ $this->assertEquals('Test 1', $tasks[0]['title']);
+ $this->assertEquals('Test 2', $tasks[1]['title']);
+ }
}