Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorspingel2008-11-08 09:26:24 +0000
committerspingel2008-11-08 09:26:24 +0000
commitd72ebfb4aedd7d55db549a763a473a7ff9142453 (patch)
treee210de76bfc9eceea6d3c335fc9902364df9da7f
parenta94666f49f8f1ed862344bcb88bb1ceb3030d28c (diff)
downloadorg.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
-rw-r--r--org.eclipse.mylyn.tasks.tests/META-INF/MANIFEST.MF3
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/AllTasksTests.java2
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskTestUtil.java4
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/ui/TaskAttachmentPropertyTesterTest.java46
-rw-r--r--org.eclipse.mylyn.tasks.ui/plugin.xml2
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TaskAttachmentPropertyTester.java9
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;
}

Back to the top