package org.eclipse.nebula.cwt.base; import org.eclipse.nebula.cwt.test.AbstractVTestCase; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Label; public class DropDownTests extends AbstractVTestCase { private BaseCombo combo; public void setUp() throws Exception { combo = new BaseCombo(getShell(), SWT.BORDER | SWT.DROP_DOWN) { @Override protected boolean setContentFocus() { if(content != null && !content.isDisposed()) { return content.forceFocus(); } return false; } }; Label lbl = new Label(combo, 0); lbl.setText("hello world"); combo.setContent(lbl); } public void testOpenByKey() throws Exception { syncExec(new Runnable() { public void run() { combo.setFocus(); } }); assertTrue(hasFocus(combo.text)); keyDown(SWT.CTRL); keyPress(' '); keyUp(SWT.CTRL); assertTrue(combo.isOpen()); } public void testOpenAndCloseByMouse() throws Exception { assertFalse(combo.isOpen()); click(combo.button); assertTrue(combo.isOpen()); click(combo.button); assertFalse(combo.isOpen()); } public void testOpenAndCloseByCode() throws Exception { assertFalse(combo.isOpen()); syncExec(new Runnable() { public void run() { combo.setOpen(true); } }); assertTrue(combo.isOpen()); syncExec(new Runnable() { public void run() { combo.setOpen(false); } }); assertFalse(combo.isOpen()); } }