Java tutorial
/******************************************************************************* * Copyright (c) 2000, 2008 IBM Corporation 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: * IBM Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.ui.tests.dialogs; import java.io.IOException; import junit.framework.TestCase; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.jface.dialogs.ProgressMonitorDialog; import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.IPerspectiveDescriptor; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.dialogs.ContainerSelectionDialog; import org.eclipse.ui.dialogs.EditorSelectionDialog; import org.eclipse.ui.dialogs.ListSelectionDialog; import org.eclipse.ui.dialogs.ProjectLocationSelectionDialog; import org.eclipse.ui.dialogs.SaveAsDialog; import org.eclipse.ui.dialogs.TypeFilteringDialog; import org.eclipse.ui.internal.WorkbenchPlugin; import org.eclipse.ui.internal.dialogs.AboutDialog; import org.eclipse.ui.internal.dialogs.FileExtensionDialog; import org.eclipse.ui.internal.dialogs.SavePerspectiveDialog; import org.eclipse.ui.internal.dialogs.SelectPerspectiveDialog; import org.eclipse.ui.internal.dialogs.ShowViewDialog; import org.eclipse.ui.internal.ide.dialogs.SimpleListContentProvider; import org.eclipse.ui.internal.registry.PerspectiveRegistry; import org.eclipse.ui.internal.views.navigator.ResourceNavigatorMessages; import org.eclipse.ui.tests.harness.util.DialogCheck; public class UIDialogs extends TestCase { private static final String PROJECT_SELECTION_MESSAGE = "Select Project"; private static final String FILTER_SELECTION_MESSAGE = ResourceNavigatorMessages.FilterSelection_message; public UIDialogs(String name) { super(name); } private Shell getShell() { return DialogCheck.getShell(); } private IWorkbench getWorkbench() { return PlatformUI.getWorkbench(); } public void testAbout() { Dialog dialog = null; dialog = new AboutDialog(getShell()); DialogCheck.assertDialog(dialog, this); } public void testAddProjects() { Dialog dialog = new ListSelectionDialog(getShell(), null, new SimpleListContentProvider(), new LabelProvider(), PROJECT_SELECTION_MESSAGE); DialogCheck.assertDialog(dialog, this); } public void testCopyMoveProject() { IProject dummyProject = ResourcesPlugin.getWorkspace().getRoot().getProject("DummyProject"); Dialog dialog = new ProjectLocationSelectionDialog(getShell(), dummyProject); DialogCheck.assertDialog(dialog, this); } public void testCopyMoveResource() { Dialog dialog = new ContainerSelectionDialog(getShell(), null, true, "Select Destination"); DialogCheck.assertDialog(dialog, this); } public void testEditActionSetsDialog() { fail("CustomizePerspectiveDialog not implemented"); // Dialog dialog; // Object persp = null; // //Test perspective: use current perspective of test case // try { /* // * fixme: should try to get current perspective, or default; // * currently only // */ // WorkbenchWindow window = (WorkbenchWindow) getWorkbench().getActiveWorkbenchWindow(); // persp = new Perspective((PerspectiveDescriptor) getWorkbench() // .getPerspectiveRegistry().getPerspectives()[0], // (WorkbenchPage) window.getActivePage()); // dialog = window.createCustomizePerspectiveDialog(persp); // } catch (WorkbenchException e) { // dialog = null; // } // DialogCheck.assertDialog(dialog, this); // if (persp != null) { // persp.dispose(); // } } public void testEditorSelection() { Dialog dialog = new EditorSelectionDialog(getShell()); DialogCheck.assertDialog(dialog, this); } /** * 1GJWD2E: ITPUI:ALL - Test classes should not be released in public * packages. public void testFindReplace() { Dialog dialog = * TextEditorTestStub.newFindReplaceDialog( getShell() ); * DialogCheck.assertDialog(dialog, this); } public void testGotoResource() { * Dialog dialog = NavigatorTestStub.newGotoResourceDialog(getShell(), new * IResource[0]); DialogCheck.assertDialog(dialog, this); } */ public void testNavigatorFilter() { Dialog dialog = new ListSelectionDialog(getShell(), null, new SimpleListContentProvider(), new LabelProvider(), FILTER_SELECTION_MESSAGE); DialogCheck.assertDialog(dialog, this); } public void testNewFileType() { Dialog dialog = new FileExtensionDialog(getShell()); DialogCheck.assertDialog(dialog, this); } public void testProgressInformation() { ProgressMonitorDialog dialog = new ProgressMonitorDialog(getShell()); dialog.setBlockOnOpen(true); DialogCheck.assertDialog(dialog, this); } public void testSaveAs() { Dialog dialog = new SaveAsDialog(getShell()); DialogCheck.assertDialog(dialog, this); } public void testSavePerspective() { PerspectiveRegistry reg = (PerspectiveRegistry) WorkbenchPlugin.getDefault().getPerspectiveRegistry(); // Get persp name. SavePerspectiveDialog dialog = new SavePerspectiveDialog(getShell(), reg); IPerspectiveDescriptor description = reg.findPerspectiveWithId( getWorkbench().getActiveWorkbenchWindow().getActivePage().getPerspective().getId()); dialog.setInitialSelection(description); DialogCheck.assertDialog(dialog, this); } // see bug 211350 public void testLoadNotExistingPerspective() throws IOException { fail("PerspectiveRegistry.getCustomPersp not implemented"); // final String fakePerspectivID = "fakeperspetive"; // PerspectiveRegistry reg = (PerspectiveRegistry) WorkbenchPlugin // .getDefault().getPerspectiveRegistry(); // try { // reg.getCustomPersp(fakePerspectivID); // } catch (WorkbenchException e) { // assertTrue(e.getStatus().getMessage().indexOf(fakePerspectivID) != -1); // } } public void testSelectPerspective() { Dialog dialog = new SelectPerspectiveDialog(getShell(), PlatformUI.getWorkbench().getPerspectiveRegistry()); DialogCheck.assertDialog(dialog, this); } public void testSelectTypes() { Dialog dialog = new TypeFilteringDialog(getShell(), null); DialogCheck.assertDialog(dialog, this); } public void testShowView() { Dialog dialog = new ShowViewDialog(getWorkbench().getActiveWorkbenchWindow(), WorkbenchPlugin.getDefault().getViewRegistry()); DialogCheck.assertDialog(dialog, this); } /** * 1GJWD2E: ITPUI:ALL - Test classes should not be released in public * packages. public void testTaskFilters() { Dialog dialog = * TaskListTestStub.newFiltersDialog( getShell() ); * DialogCheck.assertDialog(dialog, this); } */ }