blob: 2658d284bd625bfda76df84b277e5679de76c42c [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2013 RĂ¼diger Herrmann and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* RĂ¼diger Herrmann - initial API and implementation
******************************************************************************/
package org.eclipse.jface.tests.layout;
import junit.framework.TestCase;
import org.eclipse.jface.layout.TreeColumnLayout;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Tree;
public class TreeColumnLayoutTest extends TestCase {
private Display display;
private Shell parent;
public void testBug395890LayoutAfterExpandEventWithDisposedTree() throws Exception {
Tree tree = new Tree(parent, SWT.NONE);
TreeColumnLayout layout = new TreeColumnLayout();
parent.setLayout(layout);
parent.layout(true, true);
tree.notifyListeners(SWT.Expand, null);
tree.dispose();
try {
flushPendingEvents();
} catch (RuntimeException notExpected) {
fail();
}
}
@Override
protected void setUp() throws Exception {
display = Display.getCurrent();
if (display == null) {
display = new Display();
}
parent = new Shell(display, SWT.NONE);
}
@Override
protected void tearDown() throws Exception {
parent.dispose();
}
private void flushPendingEvents() {
while (display.readAndDispatch()) {
}
}
}