Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorspingel2008-12-14 23:23:27 +0000
committerspingel2008-12-14 23:23:27 +0000
commit2ca93f6bb81f6652c6b98c70ece43a1e29d6a46e (patch)
tree1ec1a12b0626f4f2da71f61e484549a1143df373 /org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/ui
parentc607df0938f18a286b1533bde2cfaa918f66bf75 (diff)
downloadorg.eclipse.mylyn.tasks-2ca93f6bb81f6652c6b98c70ece43a1e29d6a46e.tar.gz
org.eclipse.mylyn.tasks-2ca93f6bb81f6652c6b98c70ece43a1e29d6a46e.tar.xz
org.eclipse.mylyn.tasks-2ca93f6bb81f6652c6b98c70ece43a1e29d6a46e.zip
NEW - bug 257972: fix standalone tests
https://bugs.eclipse.org/bugs/show_bug.cgi?id=257972
Diffstat (limited to 'org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/ui')
-rw-r--r--org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/ui/TracHyperlinkUtilTest.java241
-rw-r--r--org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/ui/TracRepositorySettingsPageTest.java105
-rw-r--r--org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/ui/TracTaskEditorTest.java54
3 files changed, 400 insertions, 0 deletions
diff --git a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/ui/TracHyperlinkUtilTest.java b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/ui/TracHyperlinkUtilTest.java
new file mode 100644
index 000000000..d5b3ff251
--- /dev/null
+++ b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/ui/TracHyperlinkUtilTest.java
@@ -0,0 +1,241 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2008 Steffen Pingel 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
+ * David Green - improvements
+ *******************************************************************************/
+
+package org.eclipse.mylyn.trac.tests.ui;
+
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.eclipse.jface.text.Region;
+import org.eclipse.jface.text.hyperlink.IHyperlink;
+import org.eclipse.mylyn.internal.trac.core.TracCorePlugin;
+import org.eclipse.mylyn.internal.trac.ui.TracHyperlinkUtil;
+import org.eclipse.mylyn.internal.trac.ui.WebHyperlink;
+import org.eclipse.mylyn.tasks.core.TaskRepository;
+import org.eclipse.mylyn.tasks.ui.TaskHyperlink;
+
+/**
+ * @author Steffen Pingel
+ * @author David Green
+ * @see http://trac.edgewall.org/wiki/TracLinks
+ */
+public class TracHyperlinkUtilTest extends TestCase {
+
+ private TaskRepository repository;
+
+ @Override
+ protected void setUp() throws Exception {
+ repository = new TaskRepository(TracCorePlugin.CONNECTOR_KIND, "http://localhost");
+ }
+
+ public void testFindHyperlinksComment() {
+ IHyperlink[] links = findTracHyperlinks(repository, "comment:ticket:12:34", 0, 0);
+ assertNotNull(links);
+ assertEquals(1, links.length);
+ assertEquals(new Region(0, 20), links[0].getHyperlinkRegion());
+ assertEquals("12", ((TaskHyperlink) links[0]).getTaskId());
+ }
+
+ public void testFindHyperlinksTicket() {
+ IHyperlink[] links = TracHyperlinkUtil.findTicketHyperlinks(repository, "#11", 0, 0);
+ assertNotNull(links);
+ assertEquals(1, links.length);
+ assertEquals(new Region(0, 3), links[0].getHyperlinkRegion());
+ assertEquals("11", ((TaskHyperlink) links[0]).getTaskId());
+
+ links = TracHyperlinkUtil.findTicketHyperlinks(repository, "#11, #234", 6, 0);
+ assertNotNull(links);
+ assertEquals(1, links.length);
+ assertEquals("234", ((TaskHyperlink) links[0]).getTaskId());
+
+ links = TracHyperlinkUtil.findTicketHyperlinks(repository, " ticket:123 ", 2, 0);
+ assertNotNull(links);
+ assertEquals(1, links.length);
+ assertEquals(new Region(2, 10), links[0].getHyperlinkRegion());
+ assertEquals("123", ((TaskHyperlink) links[0]).getTaskId());
+ }
+
+ public void testFindHyperlinksReport() {
+ IHyperlink[] links = findTracHyperlinks(repository, "report:123", 0, 0);
+ assertEquals(1, links.length);
+ assertEquals(new Region(0, 10), links[0].getHyperlinkRegion());
+ assertEquals("http://localhost/report/123", ((WebHyperlink) links[0]).getURLString());
+
+ links = findTracHyperlinks(repository, "{123}", 0, 0);
+ assertEquals(1, links.length);
+ assertEquals(new Region(0, 5), links[0].getHyperlinkRegion());
+ assertEquals("http://localhost/report/123", ((WebHyperlink) links[0]).getURLString());
+ }
+
+ public void testFindHyperlinksChangeset() {
+ IHyperlink[] links = findTracHyperlinks(repository, "r123", 0, 0);
+ assertEquals(1, links.length);
+ assertEquals(new Region(0, 4), links[0].getHyperlinkRegion());
+ assertEquals("http://localhost/changeset/123", ((WebHyperlink) links[0]).getURLString());
+
+ links = findTracHyperlinks(repository, "[123]", 0, 0);
+ assertEquals(1, links.length);
+ assertEquals(new Region(0, 5), links[0].getHyperlinkRegion());
+ assertEquals("http://localhost/changeset/123", ((WebHyperlink) links[0]).getURLString());
+
+ links = findTracHyperlinks(repository, "![123]", 0, 0);
+ assertNull(links);
+
+ links = findTracHyperlinks(repository, "![123]", 1, 0);
+ assertNull(links);
+
+ links = findTracHyperlinks(repository, "changeset:123", 0, 0);
+ assertEquals(1, links.length);
+ assertEquals(new Region(0, 13), links[0].getHyperlinkRegion());
+ assertEquals("http://localhost/changeset/123", ((WebHyperlink) links[0]).getURLString());
+
+ links = findTracHyperlinks(repository, "[123/trunk]", 0, 0);
+ assertEquals(1, links.length);
+ assertEquals(new Region(0, 11), links[0].getHyperlinkRegion());
+ assertEquals("http://localhost/changeset/123/trunk", ((WebHyperlink) links[0]).getURLString());
+
+ links = findTracHyperlinks(repository, "changeset:123/trunk", 0, 0);
+ assertEquals(1, links.length);
+ assertEquals(new Region(0, 19), links[0].getHyperlinkRegion());
+ assertEquals("http://localhost/changeset/123/trunk", ((WebHyperlink) links[0]).getURLString());
+ }
+
+ public void testFindHyperlinksRevisionLog() {
+ IHyperlink[] links = findTracHyperlinks(repository, "r123:456", 0, 0);
+ assertEquals(2, links.length);
+ assertEquals("http://localhost/log/?rev=123&stop_rev=456", ((WebHyperlink) links[0]).getURLString());
+ assertEquals(new Region(0, 8), links[0].getHyperlinkRegion());
+
+ links = findTracHyperlinks(repository, "[123:456]", 0, 0);
+ assertEquals(1, links.length);
+ assertEquals("http://localhost/log/?rev=123&stop_rev=456", ((WebHyperlink) links[0]).getURLString());
+ assertEquals(new Region(0, 9), links[0].getHyperlinkRegion());
+
+ links = findTracHyperlinks(repository, "log:@123:456", 0, 0);
+ assertEquals(1, links.length);
+ assertEquals("http://localhost/log/?rev=123&stop_rev=456", ((WebHyperlink) links[0]).getURLString());
+ assertEquals(new Region(0, 12), links[0].getHyperlinkRegion());
+
+ links = findTracHyperlinks(repository, "log:trunk@123:456", 0, 0);
+ assertEquals(1, links.length);
+ assertEquals("http://localhost/log/trunk?rev=123&stop_rev=456", ((WebHyperlink) links[0]).getURLString());
+ assertEquals(new Region(0, 17), links[0].getHyperlinkRegion());
+ }
+
+ public void testFindHyperlinksDiff() {
+ IHyperlink[] links = findTracHyperlinks(repository, "diff:@123:456", 0, 0);
+ assertNotNull(links);
+ assertEquals(1, links.length);
+ assertEquals("http://localhost/changeset/?new=456&old=123", ((WebHyperlink) links[0]).getURLString());
+
+ links = findTracHyperlinks(repository, "diff:trunk/trac@3538//sandbox/vc-refactoring/trac@3539", 0, 0);
+ assertNotNull(links);
+ assertEquals(1, links.length);
+ assertEquals(
+ "http://localhost/changeset/?new_path=sandbox%2Fvc-refactoring%2Ftrac&old_path=trunk%2Ftrac&new=3539&old=3538",
+ ((WebHyperlink) links[0]).getURLString());
+
+ links = findTracHyperlinks(repository, "diff:tags/trac-0.9.2/wiki-default//tags/trac-0.9.3/wiki-default", 0, 0);
+ assertNotNull(links);
+ assertEquals(1, links.length);
+ assertEquals(
+ "http://localhost/changeset/?new_path=tags%2Ftrac-0.9.3%2Fwiki-default&old_path=tags%2Ftrac-0.9.2%2Fwiki-default",
+ ((WebHyperlink) links[0]).getURLString());
+ }
+
+ public void testFindHyperlinksWiki() {
+ IHyperlink[] links = findTracHyperlinks(repository, "[wiki:page]", 1, 0);
+ assertNotNull(links);
+ assertEquals(1, links.length);
+ assertEquals("http://localhost/wiki/page", ((WebHyperlink) links[0]).getURLString());
+
+ links = findTracHyperlinks(repository, "wiki:page", 0, 0);
+ assertNotNull(links);
+ assertEquals(1, links.length);
+ assertEquals("http://localhost/wiki/page", ((WebHyperlink) links[0]).getURLString());
+
+ links = findTracHyperlinks(repository, "Page", 0, 0);
+ assertNull(links);
+
+ links = findTracHyperlinks(repository, "!Page", 0, 0);
+ assertNull(links);
+
+ links = findTracHyperlinks(repository, "ab Page dc", 0, 0);
+ assertNull(links);
+
+ links = findTracHyperlinks(repository, "paGe", 0, 0);
+ assertNull(links);
+
+ links = findTracHyperlinks(repository, "WikiPage", 0, 0);
+ assertNotNull(links);
+ assertEquals(1, links.length);
+ assertEquals("http://localhost/wiki/WikiPage", ((WebHyperlink) links[0]).getURLString());
+ assertEquals(new Region(0, 8), links[0].getHyperlinkRegion());
+
+ links = findTracHyperlinks(repository, "!WikiPage", 0, 0);
+ assertNull(links);
+
+ links = findTracHyperlinks(repository, "!WikiPage", 1, 0);
+ assertNull(links);
+
+ links = findTracHyperlinks(repository, "a WikiPage is here", 4, 0);
+ assertNotNull(links);
+ assertEquals(1, links.length);
+ assertEquals("http://localhost/wiki/WikiPage", ((WebHyperlink) links[0]).getURLString());
+ assertEquals(new Region(2, 8), links[0].getHyperlinkRegion());
+
+ links = findTracHyperlinks(repository, "a !WikiPage is here", 4, 0);
+ assertNull(links);
+ }
+
+ public void testFindHyperlinksMilestone() {
+ IHyperlink[] links = findTracHyperlinks(repository, "milestone:1.0", 1, 0);
+ assertNotNull(links);
+ assertEquals(1, links.length);
+ assertEquals("http://localhost/milestone/1.0", ((WebHyperlink) links[0]).getURLString());
+ }
+
+ public void testFindHyperlinksAttachment() {
+ IHyperlink[] links = findTracHyperlinks(repository, "attachment:ticket:123:foo.bar", 1, 0);
+ assertNotNull(links);
+ assertEquals("123", ((TaskHyperlink) links[0]).getTaskId());
+ }
+
+ public void testFindHyperlinksFiles() {
+ IHyperlink[] links = findTracHyperlinks(repository, "source:trunk/foo", 1, 0);
+ assertNotNull(links);
+ assertEquals(1, links.length);
+ assertEquals("http://localhost/browser/trunk/foo", ((WebHyperlink) links[0]).getURLString());
+
+ links = findTracHyperlinks(repository, "source:trunk/foo@123", 1, 0);
+ assertNotNull(links);
+ assertEquals(1, links.length);
+ assertEquals("http://localhost/browser/trunk/foo?rev=123", ((WebHyperlink) links[0]).getURLString());
+
+ links = findTracHyperlinks(repository, "source:trunk/foo@123#L456", 1, 0);
+ assertNotNull(links);
+ assertEquals(1, links.length);
+ assertEquals("http://localhost/browser/trunk/foo?rev=123#L456", ((WebHyperlink) links[0]).getURLString());
+
+ links = findTracHyperlinks(repository, "source:/tags/foo_bar-1.1", 1, 0);
+ assertNotNull(links);
+ assertEquals(1, links.length);
+ assertEquals("http://localhost/browser/tags/foo_bar-1.1", ((WebHyperlink) links[0]).getURLString());
+ }
+
+ private IHyperlink[] findTracHyperlinks(TaskRepository repository, String text, int offsetInText, int textOffset) {
+ List<IHyperlink> links = TracHyperlinkUtil.findTracHyperlinks(repository, text, offsetInText, textOffset);
+ return (links.isEmpty()) ? null : links.toArray(new IHyperlink[0]);
+ }
+
+}
diff --git a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/ui/TracRepositorySettingsPageTest.java b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/ui/TracRepositorySettingsPageTest.java
new file mode 100644
index 000000000..ff587cf53
--- /dev/null
+++ b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/ui/TracRepositorySettingsPageTest.java
@@ -0,0 +1,105 @@
+/*******************************************************************************
+* Copyright (c) 2006, 2008 Steffen Pingel 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.trac.tests.ui;
+
+import java.net.Proxy;
+
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.mylyn.internal.trac.core.client.ITracClient;
+import org.eclipse.mylyn.internal.trac.core.client.ITracClient.Version;
+import org.eclipse.mylyn.internal.trac.ui.wizard.TracRepositorySettingsPage;
+import org.eclipse.mylyn.internal.trac.ui.wizard.TracRepositorySettingsPage.TracValidator;
+import org.eclipse.mylyn.trac.tests.client.AbstractTracClientTest;
+import org.eclipse.mylyn.trac.tests.support.TracTestConstants;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.PlatformUI;
+
+/**
+ * @author Steffen Pingel
+ */
+public class TracRepositorySettingsPageTest extends AbstractTracClientTest {
+
+ private TracRepositorySettingsPage page;
+
+ private TracValidator validator;
+
+ public TracRepositorySettingsPageTest() {
+ super(null);
+ }
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+
+ page = new TracRepositorySettingsPage(null);
+
+ Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
+ page.createControl(shell);
+ page.setVisible(true);
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ super.tearDown();
+
+ // TestFixture.cleanupRepository1();
+ }
+
+ @Override
+ public ITracClient connect(String url, String username, String password, Proxy proxy, Version version)
+ throws Exception {
+ page.setAnonymous(false);
+ page.setUrl(url);
+ page.setUserId(username);
+ page.setPassword(password);
+ page.setTracVersion(version);
+ validator = page.new TracValidator(page.createTaskRepository(), version);
+ return null;
+ }
+
+ public void testValidateXmlRpc() throws Exception {
+ version = Version.XML_RPC;
+ connect010();
+
+ validator.run(new NullProgressMonitor());
+ assertNull(validator.getResult());
+ assertNull(validator.getStatus());
+ }
+
+ public void testValidateWeb() throws Exception {
+ version = Version.TRAC_0_9;
+ connect010();
+
+ validator.run(new NullProgressMonitor());
+ assertNull(validator.getResult());
+ assertNull(validator.getStatus());
+ }
+
+ public void testValidateAutomaticUser() throws Exception {
+ version = null;
+ connect010();
+
+ validator.run(new NullProgressMonitor());
+ assertEquals(Version.XML_RPC, validator.getResult());
+ assertNull(validator.getStatus());
+ }
+
+ public void testValidateAutomaticAnonymous() throws Exception {
+ version = null;
+ connect(TracTestConstants.TEST_TRAC_010_URL, "", "");
+
+ validator.run(new NullProgressMonitor());
+ assertEquals(Version.TRAC_0_9, validator.getResult());
+ assertNotNull(validator.getStatus());
+ }
+
+}
diff --git a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/ui/TracTaskEditorTest.java b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/ui/TracTaskEditorTest.java
new file mode 100644
index 000000000..d90cd6942
--- /dev/null
+++ b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/ui/TracTaskEditorTest.java
@@ -0,0 +1,54 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2008 Steffen Pingel 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.trac.tests.ui;
+
+import junit.framework.TestCase;
+
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin;
+import org.eclipse.mylyn.internal.tasks.ui.views.TaskListView;
+import org.eclipse.mylyn.internal.trac.core.client.ITracClient.Version;
+import org.eclipse.mylyn.tasks.core.ITask;
+import org.eclipse.mylyn.tasks.core.TaskRepository;
+import org.eclipse.mylyn.tasks.tests.TaskTestUtil;
+import org.eclipse.mylyn.tasks.ui.TasksUiUtil;
+import org.eclipse.mylyn.trac.tests.support.TracTestConstants;
+import org.eclipse.mylyn.trac.tests.support.TracTestUtil;
+
+/**
+ * @author Steffen Pingel
+ */
+public class TracTaskEditorTest extends TestCase {
+
+ @Override
+ protected void setUp() throws Exception {
+ TaskTestUtil.resetTaskList();
+ }
+
+ public void testGetSelectedRepository() throws Exception {
+ TaskRepository repository = TracTestUtil.init(TracTestConstants.TEST_TRAC_010_URL, Version.XML_RPC);
+
+ ITask task = TracTestUtil.createTask(repository, "1");
+ TasksUiPlugin.getTaskList().addTask(task);
+ TasksUiUtil.openTask(task);
+
+ TaskListView taskListView = TaskListView.getFromActivePerspective();
+ // force refresh since automatic refresh is delayed
+ taskListView.getViewer().refresh();
+ taskListView.getViewer().expandAll();
+ taskListView.getViewer().setSelection(new StructuredSelection(task));
+
+ assertFalse(taskListView.getViewer().getSelection().isEmpty());
+ assertEquals(repository, TasksUiUtil.getSelectedRepository(taskListView.getViewer()));
+ }
+
+}

Back to the top