Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSChangeSetTests.java')
-rw-r--r--tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSChangeSetTests.java664
1 files changed, 332 insertions, 332 deletions
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSChangeSetTests.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSChangeSetTests.java
index 4466b2304..a682ec377 100644
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSChangeSetTests.java
+++ b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSChangeSetTests.java
@@ -42,7 +42,7 @@ import org.eclipse.ui.PartInitException;
public class CVSChangeSetTests extends CVSSyncSubscriberTest {
public static Test suite() {
- return suite(CVSChangeSetTests.class);
+ return suite(CVSChangeSetTests.class);
}
public CVSChangeSetTests() {
@@ -53,140 +53,140 @@ public class CVSChangeSetTests extends CVSSyncSubscriberTest {
super(name);
}
- private void assertIncomingChangesInSets(IFile[][] files, String[] messages) throws CoreException {
- // Get the workspace subscriber which also creates a participant and page in the sync view
- Subscriber workspaceSubscriber = getWorkspaceSubscriber();
- refresh(workspaceSubscriber);
- ISynchronizeModelElement root = getModelRoot(workspaceSubscriber);
- ChangeSetDiffNode[] nodes = getCheckedInChangeSetNodes(root);
- assertNodesInViewer(workspaceSubscriber, nodes);
- assertEquals("The number of change sets in the sync view do not match the expected number", messages.length, nodes.length);
- for (int i = 0; i < messages.length; i++) {
- String message = messages[i];
- ChangeSetDiffNode node = getCommitSetFor(root, message);
- assertNotNull("The commit set for '" + message + "' is not in the sync view", node);
- List<IResource> filesInSet = new ArrayList<>();
- getFileChildren(node, filesInSet);
- assertTrue("The number of files in the set do not match the expected number", files[i].length == filesInSet.size());
- for (int j = 0; j < files[i].length; j++) {
- IFile file = files[i][j];
- assertTrue("File " + file.getFullPath() + " is not in the set", filesInSet.contains(file));
- }
- }
- }
+ private void assertIncomingChangesInSets(IFile[][] files, String[] messages) throws CoreException {
+ // Get the workspace subscriber which also creates a participant and page in the sync view
+ Subscriber workspaceSubscriber = getWorkspaceSubscriber();
+ refresh(workspaceSubscriber);
+ ISynchronizeModelElement root = getModelRoot(workspaceSubscriber);
+ ChangeSetDiffNode[] nodes = getCheckedInChangeSetNodes(root);
+ assertNodesInViewer(workspaceSubscriber, nodes);
+ assertEquals("The number of change sets in the sync view do not match the expected number", messages.length, nodes.length);
+ for (int i = 0; i < messages.length; i++) {
+ String message = messages[i];
+ ChangeSetDiffNode node = getCommitSetFor(root, message);
+ assertNotNull("The commit set for '" + message + "' is not in the sync view", node);
+ List<IResource> filesInSet = new ArrayList<>();
+ getFileChildren(node, filesInSet);
+ assertTrue("The number of files in the set do not match the expected number", files[i].length == filesInSet.size());
+ for (int j = 0; j < files[i].length; j++) {
+ IFile file = files[i][j];
+ assertTrue("File " + file.getFullPath() + " is not in the set", filesInSet.contains(file));
+ }
+ }
+ }
- private void assertNodesInViewer(Subscriber workspaceSubscriber, ChangeSetDiffNode[] nodes) throws PartInitException {
- ISynchronizeParticipant participant = SubscriberParticipantSyncInfoSource.getParticipant(workspaceSubscriber);
- SubscriberParticipantPage page = (SubscriberParticipantPage)SubscriberParticipantSyncInfoSource.getSyncViewPage(participant);
- TreeViewer viewer = (TreeViewer)page.getViewer();
- Tree tree = viewer.getTree();
- List<ChangeSetDiffNode> nodeList = new ArrayList<>();
- nodeList.addAll(Arrays.asList(nodes));
- TreeItem[] items = tree.getItems();
- removeTreeItemsFromList(nodeList, items);
- assertTrue("Not all nodes are visible in the view", nodeList.isEmpty());
- }
+ private void assertNodesInViewer(Subscriber workspaceSubscriber, ChangeSetDiffNode[] nodes) throws PartInitException {
+ ISynchronizeParticipant participant = SubscriberParticipantSyncInfoSource.getParticipant(workspaceSubscriber);
+ SubscriberParticipantPage page = (SubscriberParticipantPage)SubscriberParticipantSyncInfoSource.getSyncViewPage(participant);
+ TreeViewer viewer = (TreeViewer)page.getViewer();
+ Tree tree = viewer.getTree();
+ List<ChangeSetDiffNode> nodeList = new ArrayList<>();
+ nodeList.addAll(Arrays.asList(nodes));
+ TreeItem[] items = tree.getItems();
+ removeTreeItemsFromList(nodeList, items);
+ assertTrue("Not all nodes are visible in the view", nodeList.isEmpty());
+ }
- private void removeTreeItemsFromList(List<?> nodeList, TreeItem[] items) {
- for (int i = 0; i < items.length; i++) {
- TreeItem item = items[i];
- nodeList.remove(item.getData());
- TreeItem[] children = item.getItems();
- removeTreeItemsFromList(nodeList, children);
- }
- }
+ private void removeTreeItemsFromList(List<?> nodeList, TreeItem[] items) {
+ for (int i = 0; i < items.length; i++) {
+ TreeItem item = items[i];
+ nodeList.remove(item.getData());
+ TreeItem[] children = item.getItems();
+ removeTreeItemsFromList(nodeList, children);
+ }
+ }
- private ChangeSetDiffNode[] getCheckedInChangeSetNodes(ISynchronizeModelElement root) {
- List<ChangeSetDiffNode> result = new ArrayList<>();
- IDiffElement[] children = root.getChildren();
- for (int i = 0; i < children.length; i++) {
- IDiffElement element = children[i];
- if (element instanceof ChangeSetDiffNode) {
- ChangeSetDiffNode node = (ChangeSetDiffNode)element;
- if (node.getSet() instanceof CheckedInChangeSet) {
- result.add(node);
- }
- }
- }
- return result.toArray(new ChangeSetDiffNode[result.size()]);
- }
-
- private ChangeSetDiffNode[] getActiveChangeSetNodes(ISynchronizeModelElement root) {
- List<ChangeSetDiffNode> result = new ArrayList<>();
- IDiffElement[] children = root.getChildren();
- for (int i = 0; i < children.length; i++) {
- IDiffElement element = children[i];
- if (element instanceof ChangeSetDiffNode) {
- ChangeSetDiffNode node = (ChangeSetDiffNode)element;
- if (node.getSet() instanceof ActiveChangeSet) {
- result.add(node);
- }
- }
- }
- return result.toArray(new ChangeSetDiffNode[result.size()]);
- }
+ private ChangeSetDiffNode[] getCheckedInChangeSetNodes(ISynchronizeModelElement root) {
+ List<ChangeSetDiffNode> result = new ArrayList<>();
+ IDiffElement[] children = root.getChildren();
+ for (int i = 0; i < children.length; i++) {
+ IDiffElement element = children[i];
+ if (element instanceof ChangeSetDiffNode) {
+ ChangeSetDiffNode node = (ChangeSetDiffNode)element;
+ if (node.getSet() instanceof CheckedInChangeSet) {
+ result.add(node);
+ }
+ }
+ }
+ return result.toArray(new ChangeSetDiffNode[result.size()]);
+ }
+
+ private ChangeSetDiffNode[] getActiveChangeSetNodes(ISynchronizeModelElement root) {
+ List<ChangeSetDiffNode> result = new ArrayList<>();
+ IDiffElement[] children = root.getChildren();
+ for (int i = 0; i < children.length; i++) {
+ IDiffElement element = children[i];
+ if (element instanceof ChangeSetDiffNode) {
+ ChangeSetDiffNode node = (ChangeSetDiffNode)element;
+ if (node.getSet() instanceof ActiveChangeSet) {
+ result.add(node);
+ }
+ }
+ }
+ return result.toArray(new ChangeSetDiffNode[result.size()]);
+ }
- /**
- * Adds IFiles to the list
- */
- private void getFileChildren(ISynchronizeModelElement node, List<IResource> list) {
- IResource resource = node.getResource();
- if (resource != null && resource.getType() == IResource.FILE) {
- list.add(resource);
- }
- IDiffElement[] children = node.getChildren();
- for (int i = 0; i < children.length; i++) {
- IDiffElement child = children[i];
- getFileChildren((ISynchronizeModelElement)child, list);
- }
- return;
- }
+ /**
+ * Adds IFiles to the list
+ */
+ private void getFileChildren(ISynchronizeModelElement node, List<IResource> list) {
+ IResource resource = node.getResource();
+ if (resource != null && resource.getType() == IResource.FILE) {
+ list.add(resource);
+ }
+ IDiffElement[] children = node.getChildren();
+ for (int i = 0; i < children.length; i++) {
+ IDiffElement child = children[i];
+ getFileChildren((ISynchronizeModelElement)child, list);
+ }
+ return;
+ }
- private ChangeSetDiffNode getCommitSetFor(ISynchronizeModelElement root, String message) {
- IDiffElement[] children = root.getChildren();
- for (int i = 0; i < children.length; i++) {
- IDiffElement element = children[i];
- if (element instanceof ChangeSetDiffNode) {
- ChangeSetDiffNode node = (ChangeSetDiffNode)element;
- if (node.getSet().getComment().equals(message)) {
- return node;
- }
- }
- }
- return null;
- }
+ private ChangeSetDiffNode getCommitSetFor(ISynchronizeModelElement root, String message) {
+ IDiffElement[] children = root.getChildren();
+ for (int i = 0; i < children.length; i++) {
+ IDiffElement element = children[i];
+ if (element instanceof ChangeSetDiffNode) {
+ ChangeSetDiffNode node = (ChangeSetDiffNode)element;
+ if (node.getSet().getComment().equals(message)) {
+ return node;
+ }
+ }
+ }
+ return null;
+ }
- private void refresh(Subscriber workspaceSubscriber) throws TeamException {
- workspaceSubscriber.refresh(workspaceSubscriber.roots(), IResource.DEPTH_INFINITE, DEFAULT_MONITOR);
- }
+ private void refresh(Subscriber workspaceSubscriber) throws TeamException {
+ workspaceSubscriber.refresh(workspaceSubscriber.roots(), IResource.DEPTH_INFINITE, DEFAULT_MONITOR);
+ }
- private void enableChangeSets(Subscriber workspaceSubscriber) throws PartInitException {
- ISynchronizeParticipant participant = SubscriberParticipantSyncInfoSource.getParticipant(workspaceSubscriber);
- SubscriberParticipantPage page = (SubscriberParticipantPage)SubscriberParticipantSyncInfoSource.getSyncViewPage(participant);
- ChangeSetModelManager manager = (ChangeSetModelManager)page.getConfiguration().getProperty(SynchronizePageConfiguration.P_MODEL_MANAGER);
- manager.setCommitSetsEnabled(true);
- page.getConfiguration().setMode(ISynchronizePageConfiguration.BOTH_MODE);
- }
+ private void enableChangeSets(Subscriber workspaceSubscriber) throws PartInitException {
+ ISynchronizeParticipant participant = SubscriberParticipantSyncInfoSource.getParticipant(workspaceSubscriber);
+ SubscriberParticipantPage page = (SubscriberParticipantPage)SubscriberParticipantSyncInfoSource.getSyncViewPage(participant);
+ ChangeSetModelManager manager = (ChangeSetModelManager)page.getConfiguration().getProperty(SynchronizePageConfiguration.P_MODEL_MANAGER);
+ manager.setCommitSetsEnabled(true);
+ page.getConfiguration().setMode(ISynchronizePageConfiguration.BOTH_MODE);
+ }
- private void enableCheckedInChangeSets(Subscriber workspaceSubscriber) throws PartInitException {
- enableChangeSets(workspaceSubscriber);
- ISynchronizeParticipant participant = SubscriberParticipantSyncInfoSource.getParticipant(workspaceSubscriber);
- SubscriberParticipantPage page = (SubscriberParticipantPage)SubscriberParticipantSyncInfoSource.getSyncViewPage(participant);
- page.getConfiguration().setMode(ISynchronizePageConfiguration.INCOMING_MODE);
- }
-
- private void enableActiveChangeSets(Subscriber workspaceSubscriber) throws PartInitException {
- enableChangeSets(workspaceSubscriber);
- ISynchronizeParticipant participant = SubscriberParticipantSyncInfoSource.getParticipant(workspaceSubscriber);
- SubscriberParticipantPage page = (SubscriberParticipantPage)SubscriberParticipantSyncInfoSource.getSyncViewPage(participant);
- page.getConfiguration().setMode(ISynchronizePageConfiguration.OUTGOING_MODE);
- }
-
- /*
- * Wait until all the background handlers have settled and then return the root element in the sync view
- */
- private ISynchronizeModelElement getModelRoot(Subscriber workspaceSubscriber) throws CoreException {
- IProgressMonitor eventLoopProgressMonitor = new IProgressMonitor() {
+ private void enableCheckedInChangeSets(Subscriber workspaceSubscriber) throws PartInitException {
+ enableChangeSets(workspaceSubscriber);
+ ISynchronizeParticipant participant = SubscriberParticipantSyncInfoSource.getParticipant(workspaceSubscriber);
+ SubscriberParticipantPage page = (SubscriberParticipantPage)SubscriberParticipantSyncInfoSource.getSyncViewPage(participant);
+ page.getConfiguration().setMode(ISynchronizePageConfiguration.INCOMING_MODE);
+ }
+
+ private void enableActiveChangeSets(Subscriber workspaceSubscriber) throws PartInitException {
+ enableChangeSets(workspaceSubscriber);
+ ISynchronizeParticipant participant = SubscriberParticipantSyncInfoSource.getParticipant(workspaceSubscriber);
+ SubscriberParticipantPage page = (SubscriberParticipantPage)SubscriberParticipantSyncInfoSource.getSyncViewPage(participant);
+ page.getConfiguration().setMode(ISynchronizePageConfiguration.OUTGOING_MODE);
+ }
+
+ /*
+ * Wait until all the background handlers have settled and then return the root element in the sync view
+ */
+ private ISynchronizeModelElement getModelRoot(Subscriber workspaceSubscriber) throws CoreException {
+ IProgressMonitor eventLoopProgressMonitor = new IProgressMonitor() {
public void beginTask(String name, int totalWork) {
}
public void done() {
@@ -206,218 +206,218 @@ public class CVSChangeSetTests extends CVSSyncSubscriberTest {
while (Display.getCurrent().readAndDispatch()) {}
}
};
- SubscriberParticipantSyncInfoSource.getCollector(workspaceSubscriber);
- ISynchronizeParticipant participant = SubscriberParticipantSyncInfoSource.getParticipant(workspaceSubscriber);
- ChangeSetCapability capability = ((IChangeSetProvider)participant).getChangeSetCapability();
- SubscriberChangeSetManager activeManager = (SubscriberChangeSetManager)capability.getActiveChangeSetManager();
- activeManager.waitUntilDone(eventLoopProgressMonitor);
- SubscriberParticipantPage page = (SubscriberParticipantPage)SubscriberParticipantSyncInfoSource.getSyncViewPage(participant);
- ChangeSetModelManager manager = (ChangeSetModelManager)page.getConfiguration().getProperty(SynchronizePageConfiguration.P_MODEL_MANAGER);
- AbstractSynchronizeModelProvider provider = (AbstractSynchronizeModelProvider)manager.getActiveModelProvider();
- provider.waitUntilDone(eventLoopProgressMonitor);
- return provider.getModelRoot();
- }
+ SubscriberParticipantSyncInfoSource.getCollector(workspaceSubscriber);
+ ISynchronizeParticipant participant = SubscriberParticipantSyncInfoSource.getParticipant(workspaceSubscriber);
+ ChangeSetCapability capability = ((IChangeSetProvider)participant).getChangeSetCapability();
+ SubscriberChangeSetManager activeManager = (SubscriberChangeSetManager)capability.getActiveChangeSetManager();
+ activeManager.waitUntilDone(eventLoopProgressMonitor);
+ SubscriberParticipantPage page = (SubscriberParticipantPage)SubscriberParticipantSyncInfoSource.getSyncViewPage(participant);
+ ChangeSetModelManager manager = (ChangeSetModelManager)page.getConfiguration().getProperty(SynchronizePageConfiguration.P_MODEL_MANAGER);
+ AbstractSynchronizeModelProvider provider = (AbstractSynchronizeModelProvider)manager.getActiveModelProvider();
+ provider.waitUntilDone(eventLoopProgressMonitor);
+ return provider.getModelRoot();
+ }
- private ActiveChangeSetManager getActiveChangeSetManager() {
- return CVSUIPlugin.getPlugin().getChangeSetManager();
- }
-
- /*
- * Assert that the given resources make up the given set both directly
- * and by what is displayed in the sync view.
- */
- private void assertInActiveSet(IResource[] resources, ActiveChangeSet set) throws CoreException {
- assertResourcesAreTheSame(resources, set.getResources(), true);
- ISynchronizeModelElement root = getModelRoot(((SubscriberChangeSetManager)getActiveChangeSetManager()).getSubscriber());
- ChangeSetDiffNode node = getChangeSetNodeFor(root, set);
- assertNotNull("Change set " + set.getTitle() + " did not appear in the sync view", node);
- IResource[] outOfSync = getOutOfSyncResources(node);
- assertResourcesAreTheSame(resources, outOfSync, true);
- // Assert that all active sets are visible in the view
- ChangeSet[] sets = getActiveChangeSetManager().getSets();
- for (int i = 0; i < sets.length; i++) {
- ChangeSet changeSet = sets[i];
- node = getChangeSetNodeFor(root, changeSet);
- assertNotNull("The node for set " + set.getName() + " is not in the view", node);
-
- }
- ChangeSetDiffNode[] nodes = getActiveChangeSetNodes(root);
- assertNodesInViewer(getWorkspaceSubscriber(), nodes);
- }
-
- private ChangeSetDiffNode getChangeSetNodeFor(ISynchronizeModelElement root, ChangeSet set) {
- IDiffElement[] children = root.getChildren();
- for (int i = 0; i < children.length; i++) {
- IDiffElement element = children[i];
- if (element instanceof ChangeSetDiffNode) {
- ChangeSetDiffNode node = (ChangeSetDiffNode)element;
- if (node.getSet() == set) {
- return node;
- }
- }
- }
- return null;
- }
+ private ActiveChangeSetManager getActiveChangeSetManager() {
+ return CVSUIPlugin.getPlugin().getChangeSetManager();
+ }
+
+ /*
+ * Assert that the given resources make up the given set both directly
+ * and by what is displayed in the sync view.
+ */
+ private void assertInActiveSet(IResource[] resources, ActiveChangeSet set) throws CoreException {
+ assertResourcesAreTheSame(resources, set.getResources(), true);
+ ISynchronizeModelElement root = getModelRoot(((SubscriberChangeSetManager)getActiveChangeSetManager()).getSubscriber());
+ ChangeSetDiffNode node = getChangeSetNodeFor(root, set);
+ assertNotNull("Change set " + set.getTitle() + " did not appear in the sync view", node);
+ IResource[] outOfSync = getOutOfSyncResources(node);
+ assertResourcesAreTheSame(resources, outOfSync, true);
+ // Assert that all active sets are visible in the view
+ ChangeSet[] sets = getActiveChangeSetManager().getSets();
+ for (int i = 0; i < sets.length; i++) {
+ ChangeSet changeSet = sets[i];
+ node = getChangeSetNodeFor(root, changeSet);
+ assertNotNull("The node for set " + set.getName() + " is not in the view", node);
+
+ }
+ ChangeSetDiffNode[] nodes = getActiveChangeSetNodes(root);
+ assertNodesInViewer(getWorkspaceSubscriber(), nodes);
+ }
+
+ private ChangeSetDiffNode getChangeSetNodeFor(ISynchronizeModelElement root, ChangeSet set) {
+ IDiffElement[] children = root.getChildren();
+ for (int i = 0; i < children.length; i++) {
+ IDiffElement element = children[i];
+ if (element instanceof ChangeSetDiffNode) {
+ ChangeSetDiffNode node = (ChangeSetDiffNode)element;
+ if (node.getSet() == set) {
+ return node;
+ }
+ }
+ }
+ return null;
+ }
- private IResource[] getOutOfSyncResources(ISynchronizeModelElement element) {
- ArrayList<SyncInfo> arrayList = new ArrayList<>();
- getOutOfSync(element, arrayList);
- SyncInfo[] infos = arrayList.toArray(new SyncInfo[arrayList.size()]);
- IResource[] resources = getResources(infos);
- return resources;
- }
+ private IResource[] getOutOfSyncResources(ISynchronizeModelElement element) {
+ ArrayList<SyncInfo> arrayList = new ArrayList<>();
+ getOutOfSync(element, arrayList);
+ SyncInfo[] infos = arrayList.toArray(new SyncInfo[arrayList.size()]);
+ IResource[] resources = getResources(infos);
+ return resources;
+ }
- private IResource[] getResources(SyncInfo[] infos) {
- IResource[] resources = new IResource[infos.length];
- for (int i = 0; i < resources.length; i++) {
- resources[i] = infos[i].getLocal();
- }
- return resources;
- }
+ private IResource[] getResources(SyncInfo[] infos) {
+ IResource[] resources = new IResource[infos.length];
+ for (int i = 0; i < resources.length; i++) {
+ resources[i] = infos[i].getLocal();
+ }
+ return resources;
+ }
- private void getOutOfSync(ISynchronizeModelElement node, List<SyncInfo> list) {
- SyncInfo info = getSyncInfo(node);
- if (info != null && info.getKind() != SyncInfo.IN_SYNC) {
- list.add(info);
- }
- IDiffElement[] children = node.getChildren();
- for (int i = 0; i < children.length; i++) {
- IDiffElement child = children[i];
- getOutOfSync((ISynchronizeModelElement)child, list);
- }
- return;
- }
-
- private SyncInfo getSyncInfo(ISynchronizeModelElement node) {
- if (node instanceof IAdaptable) {
- return ((IAdaptable)node).getAdapter(SyncInfo.class);
- }
- return null;
- }
+ private void getOutOfSync(ISynchronizeModelElement node, List<SyncInfo> list) {
+ SyncInfo info = getSyncInfo(node);
+ if (info != null && info.getKind() != SyncInfo.IN_SYNC) {
+ list.add(info);
+ }
+ IDiffElement[] children = node.getChildren();
+ for (int i = 0; i < children.length; i++) {
+ IDiffElement child = children[i];
+ getOutOfSync((ISynchronizeModelElement)child, list);
+ }
+ return;
+ }
+
+ private SyncInfo getSyncInfo(ISynchronizeModelElement node) {
+ if (node instanceof IAdaptable) {
+ return ((IAdaptable)node).getAdapter(SyncInfo.class);
+ }
+ return null;
+ }
- private void assertResourcesAreTheSame(IResource[] resources1, IResource[] resources2, boolean doNotAllowExtra) {
- if (doNotAllowExtra) {
- if (resources1.length != resources2.length) {
- System.out.println("Expected");
- for (int i = 0; i < resources1.length; i++) {
- IResource resource = resources1[i];
- System.out.println(resource.getFullPath().toString());
- }
- System.out.println("Actual");
- for (int i = 0; i < resources2.length; i++) {
- IResource resource = resources2[i];
- System.out.println(resource.getFullPath().toString());
- }
- }
- assertEquals("The number of resources do not match the expected number", resources1.length, resources2.length);
- }
- for (int i = 0; i < resources1.length; i++) {
- IResource resource = resources1[i];
- boolean found = false;
- for (int j = 0; j < resources2.length; j++) {
- IResource resource2 = resources2[j];
- if (resource2.equals(resource)) {
- found = true;
- break;
- }
- }
- assertTrue("Expected resource " + resource.getFullPath().toString() + " was not present", found);
- }
- }
+ private void assertResourcesAreTheSame(IResource[] resources1, IResource[] resources2, boolean doNotAllowExtra) {
+ if (doNotAllowExtra) {
+ if (resources1.length != resources2.length) {
+ System.out.println("Expected");
+ for (int i = 0; i < resources1.length; i++) {
+ IResource resource = resources1[i];
+ System.out.println(resource.getFullPath().toString());
+ }
+ System.out.println("Actual");
+ for (int i = 0; i < resources2.length; i++) {
+ IResource resource = resources2[i];
+ System.out.println(resource.getFullPath().toString());
+ }
+ }
+ assertEquals("The number of resources do not match the expected number", resources1.length, resources2.length);
+ }
+ for (int i = 0; i < resources1.length; i++) {
+ IResource resource = resources1[i];
+ boolean found = false;
+ for (int j = 0; j < resources2.length; j++) {
+ IResource resource2 = resources2[j];
+ if (resource2.equals(resource)) {
+ found = true;
+ break;
+ }
+ }
+ assertTrue("Expected resource " + resource.getFullPath().toString() + " was not present", found);
+ }
+ }
- /*
- * Assert that the given resources make up the root set
- * displayed in the sync view. The root set is those
- * resources that are not part of an active change set.
- */
- private void assertInRootSet(IResource[] resources) throws CoreException {
- ISynchronizeModelElement[] nodes = getNonChangeSetRoots(getModelRoot(((SubscriberChangeSetManager)getActiveChangeSetManager()).getSubscriber()));
- List<SyncInfo> list = new ArrayList<>();
- for (int i = 0; i < nodes.length; i++) {
- ISynchronizeModelElement element = nodes[i];
- getOutOfSync(element, list);
- }
- IResource[] outOfSync = getResources(list.toArray(new SyncInfo[list.size()]));
- // Only require that the expected resources are there but allow extra.
- // This is required because of junk left over from previous tests.
- // This means there is a bug somewhere. But where?
- assertResourcesAreTheSame(resources, outOfSync, false /* allow extra out-of-sync resources */);
-
- }
-
- private ISynchronizeModelElement[] getNonChangeSetRoots(ISynchronizeModelElement modelRoot) {
- List<ISynchronizeModelElement> result = new ArrayList<>();
- IDiffElement[] children = modelRoot.getChildren();
- for (int i = 0; i < children.length; i++) {
- IDiffElement element = children[i];
- if (!(element instanceof ChangeSetDiffNode)) {
- result.add((ISynchronizeModelElement) element);
- }
- }
- return result.toArray(new ISynchronizeModelElement[result.size()]);
- }
+ /*
+ * Assert that the given resources make up the root set
+ * displayed in the sync view. The root set is those
+ * resources that are not part of an active change set.
+ */
+ private void assertInRootSet(IResource[] resources) throws CoreException {
+ ISynchronizeModelElement[] nodes = getNonChangeSetRoots(getModelRoot(((SubscriberChangeSetManager)getActiveChangeSetManager()).getSubscriber()));
+ List<SyncInfo> list = new ArrayList<>();
+ for (int i = 0; i < nodes.length; i++) {
+ ISynchronizeModelElement element = nodes[i];
+ getOutOfSync(element, list);
+ }
+ IResource[] outOfSync = getResources(list.toArray(new SyncInfo[list.size()]));
+ // Only require that the expected resources are there but allow extra.
+ // This is required because of junk left over from previous tests.
+ // This means there is a bug somewhere. But where?
+ assertResourcesAreTheSame(resources, outOfSync, false /* allow extra out-of-sync resources */);
+
+ }
+
+ private ISynchronizeModelElement[] getNonChangeSetRoots(ISynchronizeModelElement modelRoot) {
+ List<ISynchronizeModelElement> result = new ArrayList<>();
+ IDiffElement[] children = modelRoot.getChildren();
+ for (int i = 0; i < children.length; i++) {
+ IDiffElement element = children[i];
+ if (!(element instanceof ChangeSetDiffNode)) {
+ result.add((ISynchronizeModelElement) element);
+ }
+ }
+ return result.toArray(new ISynchronizeModelElement[result.size()]);
+ }
- public void testSimpleCommit() throws CoreException {
- enableCheckedInChangeSets(getWorkspaceSubscriber());
-
- IProject project = createProject(new String[] { "file1.txt", "file2.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
-
- // Modify a file in a copy
- IProject copy = checkoutCopy(project, CVSTag.DEFAULT);
- setContentsAndEnsureModified(copy.getFile("file1.txt"));
- String message1 = "Commit 1";
- commitResources(new IResource[] {copy}, IResource.DEPTH_INFINITE, message1);
- assertIncomingChangesInSets(new IFile[][] {{ project.getFile("file1.txt") }}, new String[] {message1});
-
- // Modify the copy some more
- setContentsAndEnsureModified(copy.getFile("file2.txt"));
- setContentsAndEnsureModified(copy.getFile("folder1/a.txt"));
- String message2 = "Commit 2";
- commitResources(new IResource[] {copy}, IResource.DEPTH_INFINITE, message2);
- assertIncomingChangesInSets(new IFile[][] {
- { project.getFile("file1.txt") },
- { project.getFile("file2.txt"), project.getFile("folder1/a.txt") }
- }, new String[] {message1, message2});
-
- // Modify the copy some more
- setContentsAndEnsureModified(copy.getFile("file2.txt"));
- String message3 = "Commit 3";
- commitResources(new IResource[] {copy}, IResource.DEPTH_INFINITE, message3);
- assertIncomingChangesInSets(new IFile[][] {
- { project.getFile("file1.txt") },
- { project.getFile("folder1/a.txt") },
- { project.getFile("file2.txt")}
- }, new String[] {message1, message2, message3});
-
- // Now commit the files in one of the sets and ensure it is removed from the view
- updateResources(new IResource[] { project.getFile("file1.txt")}, false);
- assertIncomingChangesInSets(new IFile[][] {
- { project.getFile("folder1/a.txt") },
- { project.getFile("file2.txt")}
- }, new String[] {message2, message3});
+ public void testSimpleCommit() throws CoreException {
+ enableCheckedInChangeSets(getWorkspaceSubscriber());
+
+ IProject project = createProject(new String[] { "file1.txt", "file2.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
+
+ // Modify a file in a copy
+ IProject copy = checkoutCopy(project, CVSTag.DEFAULT);
+ setContentsAndEnsureModified(copy.getFile("file1.txt"));
+ String message1 = "Commit 1";
+ commitResources(new IResource[] {copy}, IResource.DEPTH_INFINITE, message1);
+ assertIncomingChangesInSets(new IFile[][] {{ project.getFile("file1.txt") }}, new String[] {message1});
+
+ // Modify the copy some more
+ setContentsAndEnsureModified(copy.getFile("file2.txt"));
+ setContentsAndEnsureModified(copy.getFile("folder1/a.txt"));
+ String message2 = "Commit 2";
+ commitResources(new IResource[] {copy}, IResource.DEPTH_INFINITE, message2);
+ assertIncomingChangesInSets(new IFile[][] {
+ { project.getFile("file1.txt") },
+ { project.getFile("file2.txt"), project.getFile("folder1/a.txt") }
+ }, new String[] {message1, message2});
+
+ // Modify the copy some more
+ setContentsAndEnsureModified(copy.getFile("file2.txt"));
+ String message3 = "Commit 3";
+ commitResources(new IResource[] {copy}, IResource.DEPTH_INFINITE, message3);
+ assertIncomingChangesInSets(new IFile[][] {
+ { project.getFile("file1.txt") },
+ { project.getFile("folder1/a.txt") },
+ { project.getFile("file2.txt")}
+ }, new String[] {message1, message2, message3});
+
+ // Now commit the files in one of the sets and ensure it is removed from the view
+ updateResources(new IResource[] { project.getFile("file1.txt")}, false);
+ assertIncomingChangesInSets(new IFile[][] {
+ { project.getFile("folder1/a.txt") },
+ { project.getFile("file2.txt")}
+ }, new String[] {message2, message3});
}
- public void testSimpleActiveChangeSet() throws CoreException {
- IProject project = createProject(new String[] { "file1.txt", "file2.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
- // Enable Change Sets
- enableActiveChangeSets(getWorkspaceSubscriber());
- // Add a folder and file
- IFolder newFolder = project.getFolder("folder2");
- newFolder.create(false, true, null);
- IFile newFile = newFolder.getFile("file.txt");
- newFile.create(new ByteArrayInputStream("Hi There".getBytes()), false, null);
- // Create an active commit set and assert that it appears in the sync view
- ActiveChangeSetManager manager = getActiveChangeSetManager();
- ActiveChangeSet set = manager.createSet("test", new IDiff[0]);
- manager.add(set);
- assertInActiveSet(new IResource[] { }, set);
- assertInRootSet(new IResource[] {newFolder, newFile});
- // Add the new file to the set and assert that the file is in the set and the folder is still at the root
- set.add(new IResource[] { newFile });
- assertInActiveSet(new IResource[] { newFile }, set);
- assertInRootSet(new IResource[] {newFolder });
- // Add the folder to the set
- set.add(new IResource[] { newFolder });
- assertInActiveSet(new IResource[] { newFolder, newFile }, set);
- }
+ public void testSimpleActiveChangeSet() throws CoreException {
+ IProject project = createProject(new String[] { "file1.txt", "file2.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
+ // Enable Change Sets
+ enableActiveChangeSets(getWorkspaceSubscriber());
+ // Add a folder and file
+ IFolder newFolder = project.getFolder("folder2");
+ newFolder.create(false, true, null);
+ IFile newFile = newFolder.getFile("file.txt");
+ newFile.create(new ByteArrayInputStream("Hi There".getBytes()), false, null);
+ // Create an active commit set and assert that it appears in the sync view
+ ActiveChangeSetManager manager = getActiveChangeSetManager();
+ ActiveChangeSet set = manager.createSet("test", new IDiff[0]);
+ manager.add(set);
+ assertInActiveSet(new IResource[] { }, set);
+ assertInRootSet(new IResource[] {newFolder, newFile});
+ // Add the new file to the set and assert that the file is in the set and the folder is still at the root
+ set.add(new IResource[] { newFile });
+ assertInActiveSet(new IResource[] { newFile }, set);
+ assertInRootSet(new IResource[] {newFolder });
+ // Add the folder to the set
+ set.add(new IResource[] { newFolder });
+ assertInActiveSet(new IResource[] { newFolder, newFile }, set);
+ }
}

Back to the top