### Eclipse Workspace Patch 1.0 #P org.eclipse.team.tests.cvs.core Index: src/org/eclipse/team/tests/ccvs/ui/EditorTests.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/EditorTests.java,v retrieving revision 1.1 diff -u -r1.1 EditorTests.java --- src/org/eclipse/team/tests/ccvs/ui/EditorTests.java 26 Apr 2007 19:29:12 -0000 1.1 +++ src/org/eclipse/team/tests/ccvs/ui/EditorTests.java 31 Jul 2007 15:51:15 -0000 @@ -15,6 +15,10 @@ import junit.framework.Test; import junit.framework.TestSuite; +import org.eclipse.compare.CompareUI; +import org.eclipse.compare.ITypedElement; +import org.eclipse.compare.internal.CompareEditor; +import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.NullProgressMonitor; @@ -24,11 +28,16 @@ import org.eclipse.team.internal.ccvs.core.ICVSRemoteFile; import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot; import org.eclipse.team.internal.ccvs.ui.CVSUIPlugin; +import org.eclipse.team.internal.ui.TeamUIPlugin; import org.eclipse.team.internal.ui.Utils; import org.eclipse.team.tests.ccvs.core.CVSTestSetup; import org.eclipse.team.tests.ccvs.core.EclipseTest; import org.eclipse.team.ui.history.IHistoryPageSource; +import org.eclipse.team.ui.synchronize.SaveableCompareEditorInput; +import org.eclipse.team.ui.synchronize.TwoSidesSaveableCompareEditorInput; import org.eclipse.ui.IEditorPart; +import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.IWorkbenchPart; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.ide.IDE; import org.eclipse.ui.model.IWorkbenchAdapter; @@ -63,4 +72,70 @@ assertNotNull(Utils.getAdapter(part.getEditorInput(), IWorkbenchAdapter.class)); } + + + public void testTwoSidesSaveableCompareEditor_open() throws CoreException, InterruptedException, InvocationTargetException { + IProject project = createProject(new String[] { "file1.txt", "file2.txt" }); + IFile file1 = project.getFile("file1.txt"); + IFile file2 = project.getFile("file2.txt"); + ITypedElement fileElement1 = SaveableCompareEditorInput.createFileElement(file1); + ITypedElement fileElement2 = SaveableCompareEditorInput.createFileElement(file2); + + IWorkbenchPage activePage = TeamUIPlugin.getActivePage(); + TwoSidesSaveableCompareEditorInput compareEditorInput = new TwoSidesSaveableCompareEditorInput(fileElement1 /* left */, fileElement2 /* right */, activePage); + CompareUI.openCompareEditor(compareEditorInput); + compareEditorInput.run(new NullProgressMonitor()); + + IWorkbenchPart workbenchPart = compareEditorInput.getWorkbenchPart(); + // we've opened the Compare Editor + assertTrue(workbenchPart instanceof CompareEditor); + + IEditorPart editorPart = (IEditorPart) workbenchPart; + // initialization has been successful + assertNotNull(editorPart.getEditorSite()); + } + + public void testTwoSidesSaveableCompareEditor_saveables() throws CoreException, InterruptedException, InvocationTargetException { + IProject project = createProject(new String[] { "file1.txt", "file2.txt" }); + IFile file1 = project.getFile("file1.txt"); + IFile file2 = project.getFile("file2.txt"); + ITypedElement fileElement1 = SaveableCompareEditorInput.createFileElement(file1); + ITypedElement fileElement2 = SaveableCompareEditorInput.createFileElement(file2); + + IWorkbenchPage activePage = TeamUIPlugin.getActivePage(); + TwoSidesSaveableCompareEditorInput compareEditorInput = new TwoSidesSaveableCompareEditorInput(fileElement1 /* left */, fileElement2 /* right */, activePage); + CompareUI.openCompareEditor(compareEditorInput); + compareEditorInput.run(new NullProgressMonitor()); + + assertEquals(2, compareEditorInput.getActiveSaveables().length); + } + + public void testTwoSidesSaveableCompareEditor_dirtyState() throws CoreException, InterruptedException, InvocationTargetException { + IProject project = createProject(new String[] { "file1.txt", "file2.txt" }); + IFile file1 = project.getFile("file1.txt"); + IFile file2 = project.getFile("file2.txt"); + ITypedElement fileElement1 = SaveableCompareEditorInput.createFileElement(file1); + ITypedElement fileElement2 = SaveableCompareEditorInput.createFileElement(file2); + + IWorkbenchPage activePage = TeamUIPlugin.getActivePage(); + TwoSidesSaveableCompareEditorInput compareEditorInput = new TwoSidesSaveableCompareEditorInput(fileElement1 /* left */, fileElement2 /* right */, activePage); + CompareUI.openCompareEditor(compareEditorInput); + compareEditorInput.run(new NullProgressMonitor()); + + assertFalse(compareEditorInput.isDirty()); + assertFalse(compareEditorInput.isSaveNeeded()); + +// modifyInWorkspace(file1); +// compareEditorInput.setDirty(true); +// compareEditorInput.saveChanges(new NullProgressMonitor()); + +// IWorkbenchPart workbenchPart = compareEditorInput.getWorkbenchPart(); +// CompareEditor compareEditor = (CompareEditor) workbenchPart; +// compareEditor.doSave(new NullProgressMonitor()); + + +// assertFalse(compareEditorInput.isDirty()); +// assertFalse(compareEditor.isDirty()); + } + }