blob: af1034d3ad1a9e0cacec115f219e76562af08690 [file] [log] [blame]
///*******************************************************************************
// * Copyright (c) 2003, 2007 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.parts.tests;
//
//import junit.framework.TestCase;
//
//import org.eclipse.jface.preference.IPreferenceStore;
//import org.eclipse.swt.widgets.Display;
//import org.eclipse.ui.IViewPart;
//import org.eclipse.ui.IViewReference;
//import org.eclipse.ui.IWorkbenchPage;
//import org.eclipse.ui.IWorkbenchPart;
//import org.eclipse.ui.IWorkbenchPartReference;
//import org.eclipse.ui.IWorkbenchPreferenceConstants;
//import org.eclipse.ui.PartInitException;
//import org.eclipse.ui.PlatformUI;
//import org.eclipse.ui.internal.util.PrefUtil;
//import org.eclipse.ui.parts.tests.util.PartsTestUtil;
//import org.eclipse.ui.parts.tests.util.PartsWorkbenchAdvisor;
//
///**
// * Test case to ensure that view references are created when neededed. Also
// * ensures that zooming behaves correctly on start up (Bug 64043).
// */
//public class ViewsReferencesTest extends TestCase {
//
// private Display display;
//
// /**
// * Constructor.
// *
// * @param testName
// * The test's name.
// */
// public ViewsReferencesTest(String testName) {
// super(testName);
// }
//
// /*
// * (non-Javadoc)
// *
// * @see junit.framework.TestCase#setUp()
// */
// protected void setUp() throws Exception {
// super.setUp();
// createDisplay();
// }
//
// private void createDisplay() {
// display = PlatformUI.createDisplay();
// }
//
// /*
// * (non-Javadoc)
// *
// * @see junit.framework.TestCase#tearDown()
// */
// protected void tearDown() throws Exception {
// disposeDisplay();
// super.tearDown();
// }
//
// private void disposeDisplay() {
// display.dispose();
// display = null;
// }
//
// /**
// * Test that only view0's part has been created (ideally).
// *
// */
// public void testActivePartView0() {
// openViews(0);
// newDisplay();
// checkViewsParts(0);
// }
//
// /**
// * Dispose of the old display and create a new one.
// */
// private void newDisplay() {
// disposeDisplay();
// createDisplay();
// }
//
// /**
// * Test that only view1's part has been created (ideally).
// *
// */
// public void testActivePartView1() {
// openViews(1);
// newDisplay();
// checkViewsParts(1);
//
// }
//
// /**
// * Test that only view2's part has been created (ideally).
// *
// */
// public void testActivePartView2() {
// openViews(2);
// newDisplay();
// checkViewsParts(2);
// }
//
// /**
// * Test that zooming view0 on start up and navigating to other views behaves
// * correcly.
// *
// */
// public void testZoomActivePartView0() {
// // These tests are hard-wired to the pre-3.3 zoom behaviour
// // Run them anyway to ensure that we preserve the 3.0 mechanism
// IPreferenceStore apiStore = PrefUtil.getAPIPreferenceStore();
// boolean curMinMaxState = apiStore.getBoolean(IWorkbenchPreferenceConstants.ENABLE_NEW_MIN_MAX);
// apiStore.setValue(IWorkbenchPreferenceConstants.ENABLE_NEW_MIN_MAX, false);
//
// openViews(0);
// newDisplay();
// zoomView(0);
//
// // Restore the previous state (just in case)
// apiStore.setValue(IWorkbenchPreferenceConstants.ENABLE_NEW_MIN_MAX, curMinMaxState);
// }
//
// /**
// * Test that zooming view1 on start up and navigating to other views behaves
// * correcly.
// *
// */
// public void testZoomActivePartView1() {
// // These tests are hard-wired to the pre-3.3 zoom behaviour
// // Run them anyway to ensure that we preserve the 3.0 mechanism
// IPreferenceStore apiStore = PrefUtil.getAPIPreferenceStore();
// boolean curMinMaxState = apiStore.getBoolean(IWorkbenchPreferenceConstants.ENABLE_NEW_MIN_MAX);
// apiStore.setValue(IWorkbenchPreferenceConstants.ENABLE_NEW_MIN_MAX, false);
//
// openViews(1);
// newDisplay();
// zoomView(1);
//
// // Restore the previous state (just in case)
// apiStore.setValue(IWorkbenchPreferenceConstants.ENABLE_NEW_MIN_MAX, curMinMaxState);
// }
//
// /**
// * Test that zooming view2 on start up and navigating to other views behaves
// * correcly.
// *
// */
// public void testZoomActivePartView2() {
// // These tests are hard-wired to the pre-3.3 zoom behaviour
// // Run them anyway to ensure that we preserve the 3.0 mechanism
// IPreferenceStore apiStore = PrefUtil.getAPIPreferenceStore();
// boolean curMinMaxState = apiStore.getBoolean(IWorkbenchPreferenceConstants.ENABLE_NEW_MIN_MAX);
// apiStore.setValue(IWorkbenchPreferenceConstants.ENABLE_NEW_MIN_MAX, false);
//
// openViews(2);
// newDisplay();
// zoomView(2);
//
// // Restore the previous state (just in case)
// apiStore.setValue(IWorkbenchPreferenceConstants.ENABLE_NEW_MIN_MAX, curMinMaxState);
// }
//
// /**
// * Open all the views.
// *
// * @param lastViewToOpen
// * The index of the last view to be opened.
// */
// private void openViews(final int lastViewToOpen) {
// PartsWorkbenchAdvisor wa = new PartsWorkbenchAdvisor() {
// protected void validate(IWorkbenchPage page) {
// try {
// for (int index = 0; index < PartsTestUtil.numOfParts; index++) {
// if (index != lastViewToOpen)
// page.showView(PartsTestUtil.getView(index));
//
// }
// page.showView(PartsTestUtil.getView(lastViewToOpen));
// } catch (PartInitException e) {
// e.printStackTrace(System.err);
// }
// assertEquals(page.getViewReferences().length,
// PartsTestUtil.numOfParts);
// assertTrue(page.getActivePart() instanceof IViewPart);
// IViewPart activePart = (IViewPart) page.getActivePart();
// assertEquals(activePart.getViewSite().getId(), PartsTestUtil
// .getView(lastViewToOpen));
//
// }
// };
// PlatformUI.createAndRunWorkbench(display, wa);
//
// }
//
// /**
// * Check that the active view's part has been created.
// *
// * @param lastViewOpened
// * The active file's index.
// */
// private void checkViewsParts(final int lastViewOpened) {
//
// PartsWorkbenchAdvisor wa = new PartsWorkbenchAdvisor() {
// protected void validate(IWorkbenchPage page) {
// String activeViewId = PartsTestUtil.getView(lastViewOpened);
// assertEquals(page.getViewReferences().length,
// PartsTestUtil.numOfParts);
// assertTrue(page.getActivePart() instanceof IViewPart);
//
// IViewPart activeViewPart = (IViewPart) page.getActivePart();
// assertEquals(activeViewPart.getViewSite().getId(), activeViewId);
//
// IViewReference[] viewReferences = page.getViewReferences();
// int numActiveParts = 0;
// for (int index = 0; index < viewReferences.length; index++) {
// if (viewReferences[index].getView(false) != null)
// numActiveParts++;
//
// }
// // TODO: Ideally, the number of active parts would be 1
// assertTrue(numActiveParts <= 2);
// }
// };
//
// PlatformUI.createAndRunWorkbench(display, wa);
// }
//
// /**
// * Zoom the active view and navigate to the other open views.
// *
// * @param viewIndex
// * The active view's index.
// */
// public void zoomView(final int viewIndex) {
// PartsWorkbenchAdvisor wa = new PartsWorkbenchAdvisor() {
// protected void validate(IWorkbenchPage page) {
// IWorkbenchPartReference activePartReference = page
// .getActivePartReference();
// String activePartReferenceId = activePartReference.getId();
// assertTrue(activePartReference instanceof IViewReference);
// assertEquals(activePartReferenceId, PartsTestUtil
// .getView(viewIndex));
//
// IWorkbenchPart activePart = page.getActivePart();
// assertTrue(activePart instanceof IViewPart);
//
// PartsTestUtil.zoom(activePart);
// assertTrue(PartsTestUtil.isZoomed(activePart));
//
// IViewReference[] viewReferences = page.getViewReferences();
// String currentViewId = null;
//
// for (int index = 0; index < viewReferences.length; index++) {
// currentViewId = viewReferences[index].getId();
// if (!currentViewId.equals(activePartReferenceId)) {
// try {
// page.showView(currentViewId);
// } catch (PartInitException e) {
// e.printStackTrace();
// }
// activePartReferenceId = currentViewId;
// }
// }
//
// activePart = page.getActivePart();
// assertTrue(activePart instanceof IViewPart);
//
// if (PartsTestUtil.isZoomed(activePart))
// PartsTestUtil.zoom(activePart);
//
// }
// };
// PlatformUI.createAndRunWorkbench(display, wa);
// }
//}