Bug 246209 [Viewers] OpenStrategy postSelection delay hinders automated testing
Build ID: I20080617-2000 Steps To Reproduce: The initializeHandler method runs the firePostSelectionEvent after the TIME=500 ms, which causes the automated tests to fail unless the thread is made to sleep for 500+ ms after each arrow key pressed, which is cumbersome. More information: Could we have the TIME member public, to set to 0 when testing? Probably that would be a good idea to have some kind of a more global flag (maybe in Display) to turn off optimizations that are hostile to event driven testing?
bundles/org.eclipse.jface/src/org/eclipse/jface/util/OpenStrategy.java
/*
     * Fire the open event to all openEventListeners
     */
    private void fireOpenEvent(SelectionEvent e) {
        if (e.item != null && e.item.isDisposed()) {
			return;
		}
        Object l[] = openEventListeners.getListeners();
        for (int i = 0; i < l.length; i++) {
            ((IOpenEventListener) l[i]).handleOpen(e);
        }
    }
    
    private void initializeHandler(final Display display) {
        eventHandler = new Listener() {
            boolean timerStarted = false;
            Event mouseUpEvent = null;
            Event mouseMoveEvent = null;
            SelectionEvent selectionPendent = null;
            boolean enterKeyDown = false;
            SelectionEvent defaultSelectionPendent = null;
            boolean arrowKeyDown = false;
            final int[] count = new int[1];
            long startTime = System.currentTimeMillis();
            boolean collapseOccurred = false;
            boolean expandOccurred = false;
            public void handleEvent(final Event e) {
                if (e.type == SWT.DefaultSelection) {
                    SelectionEvent event = new SelectionEvent(e);
                    fireDefaultSelectionEvent(event);