diff options
author | spingel | 2008-11-08 09:26:24 +0000 |
---|---|---|
committer | spingel | 2008-11-08 09:26:24 +0000 |
commit | d72ebfb4aedd7d55db549a763a473a7ff9142453 (patch) | |
tree | e210de76bfc9eceea6d3c335fc9902364df9da7f | |
parent | a94666f49f8f1ed862344bcb88bb1ceb3030d28c (diff) | |
download | org.eclipse.mylyn.tasks-d72ebfb4aedd7d55db549a763a473a7ff9142453.tar.gz org.eclipse.mylyn.tasks-d72ebfb4aedd7d55db549a763a473a7ff9142453.tar.xz org.eclipse.mylyn.tasks-d72ebfb4aedd7d55db549a763a473a7ff9142453.zip |
NEW - bug 252699: [patch] TaskAttachment should allow testing for presence of URL
https://bugs.eclipse.org/bugs/show_bug.cgi?id=252699
6 files changed, 63 insertions, 3 deletions
diff --git a/org.eclipse.mylyn.tasks.tests/META-INF/MANIFEST.MF b/org.eclipse.mylyn.tasks.tests/META-INF/MANIFEST.MF index a56ea83db..cb9f7f359 100644 --- a/org.eclipse.mylyn.tasks.tests/META-INF/MANIFEST.MF +++ b/org.eclipse.mylyn.tasks.tests/META-INF/MANIFEST.MF @@ -26,7 +26,8 @@ Require-Bundle: org.eclipse.core.runtime, org.eclipse.ui.ide, org.eclipse.mylyn.tasks.bugs, org.eclipse.mylyn.commons.core, - org.eclipse.ui.browser + org.eclipse.ui.browser, + org.eclipse.core.expressions Bundle-ActivationPolicy: lazy Bundle-ClassPath: mylyn-tasklist-tests.jar Export-Package: org.eclipse.mylyn.tasks.tests;x-internal:=true, diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/AllTasksTests.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/AllTasksTests.java index 475dc80f9..f82a8c533 100644 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/AllTasksTests.java +++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/AllTasksTests.java @@ -14,6 +14,7 @@ package org.eclipse.mylyn.tasks.tests; import junit.framework.Test; import junit.framework.TestSuite; +import org.eclipse.mylyn.tasks.tests.ui.TaskAttachmentPropertyTesterTest; import org.eclipse.mylyn.tasks.tests.ui.TaskHyperlinkDetectorTest; import org.eclipse.mylyn.tasks.tests.ui.TaskRelationHyperlinkDetectorTest; import org.eclipse.mylyn.tasks.tests.ui.editor.TaskEditorPartDescriptorTest; @@ -74,6 +75,7 @@ public class AllTasksTests { suite.addTestSuite(TaskHyperlinkDetectorTest.class); suite.addTestSuite(TaskRelationHyperlinkDetectorTest.class); suite.addTestSuite(TaskEditorPartDescriptorTest.class); + suite.addTestSuite(TaskAttachmentPropertyTesterTest.class); // XXX long running tests, put back? //suite.addTestSuite(TaskDataImportTest.class); diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskTestUtil.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskTestUtil.java index 8eaab6763..3ecd696a5 100644 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskTestUtil.java +++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskTestUtil.java @@ -159,4 +159,8 @@ public class TaskTestUtil { taskRepository.getRepositoryUrl(), taskId); } + public static TaskData createMockTaskData(String taskId) { + return createTaskData(createMockRepository(), taskId); + } + } diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/ui/TaskAttachmentPropertyTesterTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/ui/TaskAttachmentPropertyTesterTest.java new file mode 100644 index 000000000..66b8d6c0b --- /dev/null +++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/ui/TaskAttachmentPropertyTesterTest.java @@ -0,0 +1,46 @@ +/******************************************************************************* + * Copyright (c) 2004, 2008 Tasktop Technologies and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Tasktop Technologies - initial API and implementation + *******************************************************************************/ + +package org.eclipse.mylyn.tasks.tests.ui; + +import junit.framework.TestCase; + +import org.eclipse.mylyn.internal.tasks.core.TaskAttachment; +import org.eclipse.mylyn.internal.tasks.ui.util.TaskAttachmentPropertyTester; +import org.eclipse.mylyn.tasks.tests.TaskTestUtil; + +/** + * @author Steffen Pingel + */ +public class TaskAttachmentPropertyTesterTest extends TestCase { + + public void testHasUrl() { + TaskAttachment attachment = new StubAttachment(); + TaskAttachmentPropertyTester tester = new TaskAttachmentPropertyTester(); + attachment.setUrl("url"); + assertTrue(tester.test(attachment, "hasUrl", null, Boolean.TRUE)); + attachment.setUrl(""); + assertTrue(tester.test(attachment, "hasUrl", null, Boolean.FALSE)); + attachment.setUrl(null); + assertFalse(tester.test(attachment, "hasUrl", null, Boolean.TRUE)); + assertFalse(tester.test(new Object(), "hasUrl", null, Boolean.TRUE)); + } + + private class StubAttachment extends TaskAttachment { + + public StubAttachment() { + super(TaskTestUtil.createMockRepository(), TaskTestUtil.createMockTask("1"), + TaskTestUtil.createMockTaskData("1").getRoot()); + } + + } + +} diff --git a/org.eclipse.mylyn.tasks.ui/plugin.xml b/org.eclipse.mylyn.tasks.ui/plugin.xml index 27b03751f..b7de9d993 100644 --- a/org.eclipse.mylyn.tasks.ui/plugin.xml +++ b/org.eclipse.mylyn.tasks.ui/plugin.xml @@ -1724,7 +1724,7 @@ class="org.eclipse.mylyn.internal.tasks.ui.util.TaskAttachmentPropertyTester" id="org.eclipse.mylyn.tasks.ui.propertyTester.task.attachment" namespace="org.eclipse.mylyn.task.attachment" - properties="isContext" + properties="isContext,hasUrl" type="org.eclipse.mylyn.tasks.core.ITaskAttachment"> </propertyTester> </extension> diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TaskAttachmentPropertyTester.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TaskAttachmentPropertyTester.java index 9cb60c438..cbd1dfab9 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TaskAttachmentPropertyTester.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TaskAttachmentPropertyTester.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2004, 2008 Tasktop Technologies and others. + * Copyright (c) 2004, 2008 Tasktop Technologies and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,6 +7,7 @@ * * Contributors: * Tasktop Technologies - initial API and implementation + * Maarten Meijer - improvements for bug 252699 *******************************************************************************/ package org.eclipse.mylyn.internal.tasks.ui.util; @@ -21,6 +22,8 @@ public class TaskAttachmentPropertyTester extends PropertyTester { private static final String PROPERTY_IS_CONTEXT = "isContext"; + private static final String PROPERTY_HAS_URL = "hasUrl"; + private boolean equals(boolean value, Object expectedValue) { return new Boolean(value).equals(expectedValue); } @@ -31,6 +34,10 @@ public class TaskAttachmentPropertyTester extends PropertyTester { if (PROPERTY_IS_CONTEXT.equals(property)) { return equals(AttachmentUtil.isContext(taskAttachment), expectedValue); } + if (PROPERTY_HAS_URL.equals(property)) { + return equals(taskAttachment.getUrl() != null && taskAttachment.getUrl().length() > 0, expectedValue); + } + } return false; } |