blob: 4295804178e3acdcf30e33ea188d10ae878c73e7 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2004 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.api;
import org.eclipse.ui.IPerspectiveDescriptor;
import org.eclipse.ui.IPerspectiveListener;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.tests.harness.util.UITestCase;
public class IPerspectiveListenerTest extends UITestCase implements
IPerspectiveListener {
private int fEvent;
private IWorkbenchWindow fWindow;
private IWorkbenchPage fPageMask;
private IPerspectiveDescriptor fPerMask;
/**
* bit masks for events
*/
public static final int NONE = 0x00, OPEN = 0x01, CLOSED = 0x02,
ACTIVATED = 0x04, CHANGED = 0x08;
public IPerspectiveListenerTest(String testName) {
super(testName);
}
protected void doSetUp() throws Exception {
super.doSetUp();
fEvent = NONE;
fWindow = openTestWindow();
fWindow.addPerspectiveListener(this);
}
protected void doTearDown() throws Exception {
fWindow.removePerspectiveListener(this);
super.doTearDown();
}
public void testPerspectiveActivated() {
/*
* Commented out because until test case can be updated to work
* with new window/page/perspective implementation
*
fPageMask = fWindow.getActivePage();
fPerMask = fWorkbench.getPerspectiveRegistry().findPerspectiveWithId(EmptyPerspective.PERSP_ID );
fPageMask.setPerspective( fPerMask );
assertEquals( isActivated( fEvent ), true );
*/
}
public void testPerspectiveChanged() {
/*
* Commented out because until test case can be updated to work
* with new window/page/perspective implementation
*
fPageMask = fWindow.getActivePage();
fPerMask = fWorkbench.getPerspectiveRegistry().findPerspectiveWithId(EmptyPerspective.PERSP_ID );
fPageMask.setPerspective( fPerMask );
assertEquals( isActivated( fEvent ), true );
*/
}
/**
* @see IPerspectiveListener#perspectiveActivated(IWorkbenchPage, IPerspectiveDescriptor)
*/
public void perspectiveActivated(IWorkbenchPage page,
IPerspectiveDescriptor perspective) {
if (page == fPageMask && perspective == fPerMask)
fEvent |= ACTIVATED;
}
/**
* @see IPerspectiveListener#perspectiveChanged(IWorkbenchPage, IPerspectiveDescriptor, String)
*/
public void perspectiveChanged(IWorkbenchPage page,
IPerspectiveDescriptor perspective, String changeId) {
if (page == fPageMask && perspective == fPerMask)
fEvent |= CHANGED;
}
public static boolean isOpen(int bits) {
return ((bits & OPEN) != 0);
}
public static boolean isClosed(int bits) {
return ((bits & CLOSED) != 0);
}
public static boolean isActivated(int bits) {
return ((bits & ACTIVATED) != 0);
}
public static boolean isChanged(int bits) {
return ((bits & CLOSED) != 0);
}
}