blob: e076834e94e98a07908c1fb7a4a2a9e9c566e841 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2009, 2014 Tasktop Technologies and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* https://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Tasktop Technologies - initial API and implementation
*******************************************************************************/
package org.eclipse.mylyn.tasks.tests;
import java.net.MalformedURLException;
import java.net.URL;
import org.eclipse.mylyn.commons.ui.ClipboardCopier;
import org.eclipse.mylyn.internal.tasks.core.TaskRepositoryManager;
import org.eclipse.mylyn.internal.tasks.ui.actions.CopyTaskDetailsAction;
import org.eclipse.mylyn.internal.tasks.ui.actions.CopyTaskDetailsAction.Mode;
import org.eclipse.mylyn.tasks.core.AbstractRepositoryConnector;
import org.eclipse.mylyn.tasks.core.IRepositoryElement;
import org.eclipse.mylyn.tasks.core.TaskRepository;
import org.eclipse.mylyn.tasks.tests.connector.MockRepositoryConnector;
import org.eclipse.mylyn.tasks.tests.connector.MockTask;
import org.eclipse.mylyn.tasks.ui.TasksUi;
import junit.framework.TestCase;
/**
* @author Steffen Pingel
* @author Thomas Ehrnhoefer
*/
public class CopyDetailsActionTest extends TestCase {
// public void testIdLabelIncluded() {
// MockRepositoryConnector connector = MockRepositoryConnector.getDefault();
// String oldPrefix = connector.getTaskIdPrefix();
// try {
// MockTask task = new MockTask("123");
// task.setSummary("abc");
//
// task.setTaskKey("123");
// connector.setTaskIdPrefix("task");
// String text = CopyTaskDetailsAction.getTextForTask(task);
// //assertEquals("task 123: abc", text);
// assertEquals("123: abc", text);
//
// connector.setTaskIdPrefix("#");
// assertEquals("#123: abc", CopyTaskDetailsAction.getTextForTask(task));
//
// connector.setTaskIdPrefix("");
// assertEquals("123: abc", CopyTaskDetailsAction.getTextForTask(task));
//
// task.setTaskKey(null);
// assertEquals("abc", CopyTaskDetailsAction.getTextForTask(task));
// } finally {
// connector.setTaskIdPrefix(oldPrefix);
// }
// }
public void testGetTextForTask() {
MockTask task = new MockTask("123");
task.setSummary("abc");
task.setTaskKey("123");
String text = CopyTaskDetailsAction.getTextForTask(task);
assertEquals("123: abc", text);
task.setTaskKey(null);
assertEquals("abc", CopyTaskDetailsAction.getTextForTask(task));
}
public void testGetSummaryAndUrl() {
MockTask task = new MockTask("321");
task.setSummary("s321");
task.setTaskKey("321");
MockRepositoryConnector connector = new MockRepositoryConnector() {
@Override
public String getTaskUrl(String repositoryUrl, String taskId) {
return "http://321.com";
}
};
AbstractRepositoryConnector oldConnector = TasksUi.getRepositoryManager()
.getRepositoryConnector(MockRepositoryConnector.CONNECTOR_KIND);
try {
((TaskRepositoryManager) TasksUi.getRepositoryManager()).addRepositoryConnector(connector);
assertEquals("321: s321" + ClipboardCopier.LINE_SEPARATOR + "http://321.com",
CopyTaskDetailsAction.getTextForTask(task, Mode.ID_SUMMARY_URL));
} finally {
if (oldConnector != null) {
((TaskRepositoryManager) TasksUi.getRepositoryManager()).addRepositoryConnector(oldConnector);
}
}
}
public void testGetBrowseableUrl() {
MockTask task = new MockTask("123");
task.setSummary("Ticket 123");
MockRepositoryConnector connector = new MockRepositoryConnector() {
@Override
public String getTaskUrl(String repositoryUrl, String taskId) {
return "URI://mock-repo/id/123";
}
@Override
public URL getBrowserUrl(TaskRepository repository, IRepositoryElement element) {
try {
return new URL("http://mock-repo-evolved.com/tickets/123");
} catch (MalformedURLException e) {
return null;
}
}
};
AbstractRepositoryConnector oldConnector = TasksUi.getRepositoryManager()
.getRepositoryConnector(MockRepositoryConnector.CONNECTOR_KIND);
try {
((TaskRepositoryManager) TasksUi.getRepositoryManager()).addRepositoryConnector(connector);
assertEquals(
"123: Ticket 123" + ClipboardCopier.LINE_SEPARATOR + "http://mock-repo-evolved.com/tickets/123",
CopyTaskDetailsAction.getTextForTask(task, Mode.ID_SUMMARY_URL));
assertEquals("http://mock-repo-evolved.com/tickets/123",
CopyTaskDetailsAction.getTextForTask(task, Mode.URL));
} finally {
if (oldConnector != null) {
((TaskRepositoryManager) TasksUi.getRepositoryManager()).addRepositoryConnector(oldConnector);
}
}
}
}