diff options
author | spingel | 2008-12-14 23:23:27 +0000 |
---|---|---|
committer | spingel | 2008-12-14 23:23:27 +0000 |
commit | 2ca93f6bb81f6652c6b98c70ece43a1e29d6a46e (patch) | |
tree | 1ec1a12b0626f4f2da71f61e484549a1143df373 /org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/ui | |
parent | c607df0938f18a286b1533bde2cfaa918f66bf75 (diff) | |
download | org.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')
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())); + } + +} |