diff options
Diffstat (limited to 'org.eclipse.mylyn.tasks.index.tests/src/org/eclipse/mylyn/internal/tasks/index/tests/TaskListIndexTest.java')
-rw-r--r-- | org.eclipse.mylyn.tasks.index.tests/src/org/eclipse/mylyn/internal/tasks/index/tests/TaskListIndexTest.java | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/org.eclipse.mylyn.tasks.index.tests/src/org/eclipse/mylyn/internal/tasks/index/tests/TaskListIndexTest.java b/org.eclipse.mylyn.tasks.index.tests/src/org/eclipse/mylyn/internal/tasks/index/tests/TaskListIndexTest.java index 2453801df..5d5ac6baa 100644 --- a/org.eclipse.mylyn.tasks.index.tests/src/org/eclipse/mylyn/internal/tasks/index/tests/TaskListIndexTest.java +++ b/org.eclipse.mylyn.tasks.index.tests/src/org/eclipse/mylyn/internal/tasks/index/tests/TaskListIndexTest.java @@ -229,6 +229,38 @@ public class TaskListIndexTest extends AbstractTaskListIndexTest { } @Test + public void testMatchesOnTaskKey() throws Exception { + setupIndex(); + + ITask repositoryTask = context.createRepositoryTask(); + + index.waitUntilIdle(); + + index.setDefaultField(TaskListIndex.FIELD_CONTENT); + + TaskData taskData = context.getDataManager().getTaskData(repositoryTask); + + // sanity + assertNotNull(taskData); + assertNotNull(taskData.getRoot().getMappedAttribute(TaskAttribute.TASK_KEY)); + + String taskKey = repositoryTask.getTaskKey(); + assertTrue(taskKey.length() > 1); + + final String querySuffix = " AND " + TaskListIndex.FIELD_CONTENT.getIndexKey() + ":\"" + + index.escapeFieldValue(taskData.getRoot().getMappedAttribute(TaskAttribute.SUMMARY).getValue()) + + "\""; + + assertTrue(index.matches(repositoryTask, TaskListIndex.FIELD_TASK_KEY.getIndexKey() + ":" + taskKey + + querySuffix)); + + // does not match on task key prefix + assertTrue(index.matches(repositoryTask, + TaskListIndex.FIELD_TASK_KEY.getIndexKey() + ":" + taskKey.substring(0, taskKey.length() - 1) + + querySuffix)); + } + + @Test public void testMatchesSummaryWithExpectedQueryBehaviour() throws InterruptedException { setupIndex(); |