Ongoing work on bug 334028: Rework event system
Bring DND test back to normal
diff --git a/bundles/org.eclipse.rap.rwt/src/org/eclipse/swt/events/MenuDetectEvent.java b/bundles/org.eclipse.rap.rwt/src/org/eclipse/swt/events/MenuDetectEvent.java
index 0f08938..25e679e 100644
--- a/bundles/org.eclipse.rap.rwt/src/org/eclipse/swt/events/MenuDetectEvent.java
+++ b/bundles/org.eclipse.rap.rwt/src/org/eclipse/swt/events/MenuDetectEvent.java
@@ -80,7 +80,7 @@
}
protected boolean allowProcessing() {
- return EventUtil.isAccessible( widget );
+ return EventUtil.allowProcessing( sourceEvent );
}
/**
diff --git a/bundles/org.eclipse.rap.rwt/src/org/eclipse/swt/events/ShellEvent.java b/bundles/org.eclipse.rap.rwt/src/org/eclipse/swt/events/ShellEvent.java
index 559d163..2489ce7 100644
--- a/bundles/org.eclipse.rap.rwt/src/org/eclipse/swt/events/ShellEvent.java
+++ b/bundles/org.eclipse.rap.rwt/src/org/eclipse/swt/events/ShellEvent.java
@@ -11,8 +11,6 @@
******************************************************************************/
package org.eclipse.swt.events;
-import org.eclipse.rap.rwt.Adaptable;
-import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Event;
@@ -32,8 +30,6 @@
private static final long serialVersionUID = 1L;
- private static final int[] EVENT_TYPES = { SWT.Close, SWT.Activate, SWT.Deactivate };
-
/**
* A flag indicating whether the operation should be allowed.
* Setting this field to <code>false</code> will cancel the operation.
@@ -51,31 +47,4 @@
doit = event.doit;
}
- /**
- * @since 2.0
- * @deprecated not part of the API, do not use in application code
- */
- @Deprecated
- public static boolean hasListener( Adaptable adaptable ) {
- return hasListener( adaptable, EVENT_TYPES );
- }
-
- /**
- * @since 2.0
- * @deprecated not part of the API, do not use in application code
- */
- @Deprecated
- public static void addListener( Adaptable adaptable, ShellListener listener ) {
- addListener( adaptable, EVENT_TYPES, listener );
- }
-
- /**
- * @since 2.0
- * @deprecated not part of the API, do not use in application code
- */
- @Deprecated
- public static void removeListener( Adaptable adaptable, ShellListener listener ) {
- removeListener( adaptable, EVENT_TYPES, listener );
- }
-
}
diff --git a/bundles/org.eclipse.rap.rwt/src/org/eclipse/swt/internal/widgets/EventUtil.java b/bundles/org.eclipse.rap.rwt/src/org/eclipse/swt/internal/widgets/EventUtil.java
index 63caa3f..0f05a2a 100644
--- a/bundles/org.eclipse.rap.rwt/src/org/eclipse/swt/internal/widgets/EventUtil.java
+++ b/bundles/org.eclipse.rap.rwt/src/org/eclipse/swt/internal/widgets/EventUtil.java
@@ -14,7 +14,9 @@
import org.eclipse.rap.rwt.internal.service.ContextProvider;
import org.eclipse.rap.rwt.service.IServiceStore;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.internal.events.EventTypes;
import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.swt.widgets.Shell;
@@ -43,8 +45,35 @@
return eventTime.intValue();
}
+ public static boolean allowProcessing( Event event ) {
+ boolean result;
+ if( event.widget.isDisposed() ) {
+ result = false;
+ } else {
+ switch( event.type ) {
+ case SWT.Activate:
+ case SWT.Deactivate:
+ case SWT.Move:
+ case SWT.Resize:
+ case SWT.Paint:
+ case SWT.Modify:
+ case SWT.Verify:
+ case SWT.SetData:
+ case EventTypes.PROGRESS_CHANGED:
+ case EventTypes.PROGRESS_COMPLETED:
+ result = true;
+ break;
+ default:
+ result = isAccessible( event.widget );
+ break;
+ }
+ }
+ return result;
+ }
+
public static boolean isAccessible( Widget widget ) {
- boolean result = !widget.isDisposed();
+ boolean result;
+ result = !widget.isDisposed();
if( result ) {
if( widget instanceof Control ) {
result = isAccessible( ( Control )widget );
@@ -63,9 +92,7 @@
}
private static boolean isAccessible( Control control ) {
- return control.getEnabled()
- && control.getVisible()
- && isShellAccessible( control.getShell() );
+ return control.getEnabled() && control.getVisible() && isShellAccessible( control.getShell() );
}
private static boolean isAccessible( Menu menu ) {
@@ -73,13 +100,11 @@
}
private static boolean isAccessible( MenuItem menuItem ) {
- Shell shell = menuItem.getParent().getShell();
- return menuItem.getEnabled() && isShellAccessible( shell );
+ return menuItem.getEnabled() && isShellAccessible( menuItem.getParent().getShell() );
}
private static boolean isAccessible( ToolItem toolItem ) {
- Shell shell = toolItem.getParent().getShell();
- return toolItem.getEnabled() && isShellAccessible( shell );
+ return toolItem.getEnabled() && isShellAccessible( toolItem.getParent().getShell() );
}
private static boolean isShellAccessible( Shell shell ) {
diff --git a/bundles/org.eclipse.rap.rwt/src/org/eclipse/swt/widgets/Display.java b/bundles/org.eclipse.rap.rwt/src/org/eclipse/swt/widgets/Display.java
index b1650e3..9efa727 100644
--- a/bundles/org.eclipse.rap.rwt/src/org/eclipse/swt/widgets/Display.java
+++ b/bundles/org.eclipse.rap.rwt/src/org/eclipse/swt/widgets/Display.java
@@ -1177,7 +1177,7 @@
while( !result && events.length > 0 ) {
Event event = events[ 0 ];
EventList.getInstance().remove( event );
- if( EventUtil.isAccessible( event.widget ) ) {
+ if( EventUtil.allowProcessing( event ) ) {
event.widget.notifyListeners( event.type, event );
result = true;
} else {
diff --git a/bundles/org.eclipse.rap.rwt/src/org/eclipse/swt/widgets/Shell.java b/bundles/org.eclipse.rap.rwt/src/org/eclipse/swt/widgets/Shell.java
index 1997181..689a8ea 100644
--- a/bundles/org.eclipse.rap.rwt/src/org/eclipse/swt/widgets/Shell.java
+++ b/bundles/org.eclipse.rap.rwt/src/org/eclipse/swt/widgets/Shell.java
@@ -16,7 +16,6 @@
import org.eclipse.rap.rwt.lifecycle.ProcessActionRunner;
import org.eclipse.swt.SWT;
import org.eclipse.swt.SWTException;
-import org.eclipse.swt.events.ShellEvent;
import org.eclipse.swt.events.ShellListener;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
@@ -1081,7 +1080,13 @@
*/
public void addShellListener( ShellListener listener ) {
checkWidget();
- ShellEvent.addListener( this, listener );
+ if( listener == null ) {
+ error( SWT.ERROR_NULL_ARGUMENT );
+ }
+ TypedListener typedListener = new TypedListener( listener );
+ addListener( SWT.Close, typedListener );
+ addListener( SWT.Activate, typedListener );
+ addListener( SWT.Deactivate, typedListener );
}
/**
@@ -1103,7 +1108,12 @@
*/
public void removeShellListener( ShellListener listener ) {
checkWidget();
- ShellEvent.removeListener( this, listener );
+ if( listener == null ) {
+ error( SWT.ERROR_NULL_ARGUMENT );
+ }
+ removeListener( SWT.Close, listener );
+ removeListener( SWT.Activate, listener );
+ removeListener( SWT.Deactivate, listener );
}
///////////
diff --git a/bundles/org.eclipse.rap.rwt/widgetkits/org/eclipse/swt/internal/custom/scrolledcompositekit/ScrolledCompositeLCA.java b/bundles/org.eclipse.rap.rwt/widgetkits/org/eclipse/swt/internal/custom/scrolledcompositekit/ScrolledCompositeLCA.java
index 3609b76..5f92c99 100644
--- a/bundles/org.eclipse.rap.rwt/widgetkits/org/eclipse/swt/internal/custom/scrolledcompositekit/ScrolledCompositeLCA.java
+++ b/bundles/org.eclipse.rap.rwt/widgetkits/org/eclipse/swt/internal/custom/scrolledcompositekit/ScrolledCompositeLCA.java
@@ -48,7 +48,6 @@
private static final String PROP_SHOW_FOCUSED_CONTROL = "showFocusedControl";
private static final String PROP_SCROLLBARS_VISIBLE = "scrollBarsVisible";
private static final String PROP_SCROLLBARS_SELECTION_LISTENER = "scrollBarsSelection";
- private static final String EVENT_SCROLLBAR_SELECTED = "scrollBarSelected";
// Default values
private static final Point DEFAULT_ORIGIN = new Point( 0, 0 );
diff --git a/bundles/org.eclipse.rap.rwt/widgetkits/org/eclipse/swt/internal/widgets/displaykit/DisplayLCA.java b/bundles/org.eclipse.rap.rwt/widgetkits/org/eclipse/swt/internal/widgets/displaykit/DisplayLCA.java
index 81bc791..8252d9e 100644
--- a/bundles/org.eclipse.rap.rwt/widgetkits/org/eclipse/swt/internal/widgets/displaykit/DisplayLCA.java
+++ b/bundles/org.eclipse.rap.rwt/widgetkits/org/eclipse/swt/internal/widgets/displaykit/DisplayLCA.java
@@ -15,6 +15,7 @@
import static org.eclipse.rap.rwt.internal.protocol.ProtocolUtil.readPropertyValueAsString;
import java.io.IOException;
+
import org.eclipse.rap.rwt.branding.AbstractBranding;
import org.eclipse.rap.rwt.internal.application.RWTFactory;
import org.eclipse.rap.rwt.internal.branding.BrandingUtil;
@@ -33,7 +34,6 @@
import org.eclipse.rap.rwt.internal.theme.ThemeUtil;
import org.eclipse.rap.rwt.internal.uicallback.UICallBackServiceHandler;
import org.eclipse.rap.rwt.internal.util.ActiveKeysUtil;
-import org.eclipse.rap.rwt.internal.util.NumberFormatUtil;
import org.eclipse.rap.rwt.lifecycle.AbstractWidgetLCA;
import org.eclipse.rap.rwt.lifecycle.IWidgetAdapter;
import org.eclipse.rap.rwt.lifecycle.IWidgetLifeCycleAdapter;
@@ -365,18 +365,6 @@
return readPropertyValueAsString( getId( display ), propertyName );
}
- private static int readIntPropertyValue( Display display, String propertyName, int defaultValue )
- {
- String value = readPropertyValue( display, propertyName );
- int result;
- if( value == null ) {
- result = defaultValue;
- } else {
- result = NumberFormatUtil.parseInt( value );
- }
- return result;
- }
-
private static IDisplayAdapter getDisplayAdapter( Display display ) {
Object adapter = display.getAdapter( IDisplayAdapter.class );
return ( IDisplayAdapter )adapter;
diff --git a/bundles/org.eclipse.rap.rwt/widgetkits/org/eclipse/swt/internal/widgets/shellkit/ShellLCA.java b/bundles/org.eclipse.rap.rwt/widgetkits/org/eclipse/swt/internal/widgets/shellkit/ShellLCA.java
index 716e8d6..734c018 100644
--- a/bundles/org.eclipse.rap.rwt/widgetkits/org/eclipse/swt/internal/widgets/shellkit/ShellLCA.java
+++ b/bundles/org.eclipse.rap.rwt/widgetkits/org/eclipse/swt/internal/widgets/shellkit/ShellLCA.java
@@ -29,7 +29,6 @@
import org.eclipse.rap.rwt.lifecycle.WidgetLCAUtil;
import org.eclipse.rap.rwt.lifecycle.WidgetUtil;
import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ShellEvent;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
@@ -91,7 +90,7 @@
preserveProperty( shell, PROP_FULLSCREEN, Boolean.valueOf( shell.getFullScreen() ) );
preserveProperty( shell, PROP_MINIMUM_SIZE, shell.getMinimumSize() );
preserveProperty( shell, PROP_DEFAULT_BUTTON, shell.getDefaultButton() );
- preserveListener( shell, PROP_SHELL_LISTENER, ShellEvent.hasListener( shell ) );
+ preserveListener( shell, PROP_SHELL_LISTENER, hasShellListener( shell ) );
}
public void readData( Widget widget ) {
@@ -269,10 +268,16 @@
// the "activeControl" property and "controlActivated" event (also sent by the shell and
// processed in ShellLCA#processActivate).
// The listener property for this event is rendered by ControlLCAUtil#renderActivateListener
- boolean newValue = ShellEvent.hasListener( shell );
+ boolean newValue = hasShellListener( shell );
renderListener( shell, PROP_SHELL_LISTENER, newValue, false );
}
+ private static boolean hasShellListener( Shell shell ) {
+ return shell.isListening( SWT.Close )
+ || shell.isListening( SWT.Activate )
+ || shell.isListening( SWT.Deactivate );
+ }
+
private static String getMode( Shell shell ) {
String result = null;
if( shell.getMinimized() ) {
diff --git a/bundles/org.eclipse.rap.rwt/widgetkits/org/eclipse/swt/internal/widgets/tablekit/TableLCA.java b/bundles/org.eclipse.rap.rwt/widgetkits/org/eclipse/swt/internal/widgets/tablekit/TableLCA.java
index b6eaea5..4aaff41 100644
--- a/bundles/org.eclipse.rap.rwt/widgetkits/org/eclipse/swt/internal/widgets/tablekit/TableLCA.java
+++ b/bundles/org.eclipse.rap.rwt/widgetkits/org/eclipse/swt/internal/widgets/tablekit/TableLCA.java
@@ -72,7 +72,6 @@
private static final String PROP_ENABLE_CELL_TOOLTIP = "enableCellToolTip";
private static final String PROP_CELL_TOOLTIP_TEXT = "cellToolTipText";
private static final String PROP_MARKUP_ENABLED = "markupEnabled";
- private static final String EVENT_SCROLLBAR_SELECTED = "scrollBarSelected";
private static final int ZERO = 0 ;
private static final String[] DEFAULT_SELECTION = new String[ 0 ];
diff --git a/bundles/org.eclipse.rap.rwt/widgetkits/org/eclipse/swt/internal/widgets/treekit/TreeLCA.java b/bundles/org.eclipse.rap.rwt/widgetkits/org/eclipse/swt/internal/widgets/treekit/TreeLCA.java
index 771604a..9dc4583 100644
--- a/bundles/org.eclipse.rap.rwt/widgetkits/org/eclipse/swt/internal/widgets/treekit/TreeLCA.java
+++ b/bundles/org.eclipse.rap.rwt/widgetkits/org/eclipse/swt/internal/widgets/treekit/TreeLCA.java
@@ -81,7 +81,6 @@
private static final String PROP_ENABLE_CELL_TOOLTIP = "enableCellToolTip";
private static final String PROP_CELL_TOOLTIP_TEXT = "cellToolTipText";
private static final String PROP_MARKUP_ENABLED = "markupEnabled";
- private static final String EVENT_SCROLLBAR_SELECTED = "scrollBarSelected";
private static final int ZERO = 0 ;
private static final String[] DEFAULT_SELECTION = new String[ 0 ];
diff --git a/tests/org.eclipse.rap.rwt.test/src/org/eclipse/rap/rwt/internal/lifecycle/EventFiltering_Test.java b/tests/org.eclipse.rap.rwt.test/src/org/eclipse/rap/rwt/internal/lifecycle/EventFiltering_Test.java
index 013627c..84c4992 100644
--- a/tests/org.eclipse.rap.rwt.test/src/org/eclipse/rap/rwt/internal/lifecycle/EventFiltering_Test.java
+++ b/tests/org.eclipse.rap.rwt.test/src/org/eclipse/rap/rwt/internal/lifecycle/EventFiltering_Test.java
@@ -26,6 +26,7 @@
import org.eclipse.rap.rwt.internal.protocol.ClientMessageConst;
import org.eclipse.rap.rwt.testfixture.Fixture;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.browser.Browser;
import org.eclipse.swt.events.FocusAdapter;
import org.eclipse.swt.events.FocusEvent;
import org.eclipse.swt.events.SelectionEvent;
@@ -33,11 +34,17 @@
import org.eclipse.swt.events.ShellEvent;
import org.eclipse.swt.events.ShellListener;
import org.eclipse.swt.events.TypedEvent;
+import org.eclipse.swt.internal.events.EventTypes;
+import org.eclipse.swt.internal.widgets.EventUtil;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Canvas;
+import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
+import org.eclipse.swt.widgets.Widget;
public class EventFiltering_Test extends TestCase {
@@ -58,7 +65,96 @@
protected void tearDown() throws Exception {
Fixture.tearDown();
}
+
+ public void testAllowProcessingForActivateEventOnInvisibleControl() {
+ Control control = new Button( shell, SWT.PUSH );
+ control.setEnabled( false );
+ Event event = createEvent( control, SWT.Activate );
+
+ boolean accessible = EventUtil.allowProcessing( event );
+
+ assertTrue( accessible );
+ }
+
+ public void testAllowProcessingForDeactivateEventOnInvisibleControl() {
+ Control control = new Button( shell, SWT.PUSH );
+ control.setEnabled( false );
+ Event event = createEvent( control, SWT.Deactivate );
+
+ boolean accessible = EventUtil.allowProcessing( event );
+
+ assertTrue( accessible );
+ }
+
+ public void testAllowProcessingForProgressEventOnInvisibleBrowser() {
+ Browser browser = new Browser( shell, SWT.NONE );
+ Event event = createEvent( browser, EventTypes.PROGRESS_CHANGED );
+
+ boolean accessible = EventUtil.allowProcessing( event );
+
+ assertTrue( accessible );
+ }
+ public void testAllowProcessingForResizeEventOnDisabledControl() {
+ Control control = new Button( shell, SWT.PUSH );
+ control.setEnabled( false );
+ Event event = createEvent( control, SWT.Resize );
+
+ boolean accessible = EventUtil.allowProcessing( event );
+
+ assertTrue( accessible );
+ }
+
+ public void testAllowProcessingForMoveEventOnDisabledControl() {
+ Control control = new Button( shell, SWT.PUSH );
+ control.setEnabled( false );
+ Event event = createEvent( control, SWT.Move );
+
+ boolean accessible = EventUtil.allowProcessing( event );
+
+ assertTrue( accessible );
+ }
+
+ public void testAllowProcessingForModifyEventOnDisabledText() {
+ Text text = new Text( shell, SWT.PUSH );
+ text.setEnabled( false );
+ Event event = createEvent( text, SWT.Modify );
+
+ boolean accessible = EventUtil.allowProcessing( event );
+
+ assertTrue( accessible );
+ }
+
+ public void testAllowProcessingForVerifyEventOnDisabledText() {
+ Text text = new Text( shell, SWT.PUSH );
+ text.setEnabled( false );
+ Event event = createEvent( text, SWT.Verify );
+
+ boolean accessible = EventUtil.allowProcessing( event );
+
+ assertTrue( accessible );
+ }
+
+ public void testAllowProcessingForPaintEventOnDisabledControl() {
+ Control control = new Canvas( shell, SWT.PUSH );
+ control.setEnabled( false );
+ Event event = createEvent( control, SWT.Paint );
+
+ boolean accessible = EventUtil.allowProcessing( event );
+
+ assertTrue( accessible );
+ }
+
+ public void testAllowProcessingForSetDataEventOnDisabledControl() {
+ Control text = new Canvas( shell, SWT.PUSH );
+ text.setEnabled( false );
+ Event event = createEvent( text, SWT.SetData );
+
+ boolean accessible = EventUtil.allowProcessing( event );
+
+ assertTrue( accessible );
+ }
+
public void testЕventNotFiredOnDisabledButton() {
Button button = new Button( shell, SWT.PUSH );
button.setEnabled( false );
@@ -176,4 +272,11 @@
verify( selectionListener ).widgetSelected( any( SelectionEvent.class ) );
}
+ private static Event createEvent( Widget widget, int eventType ) {
+ Event result = new Event();
+ result.widget = widget;
+ result.type = eventType;
+ return result;
+ }
+
}
diff --git a/tests/org.eclipse.rap.rwt.test/src/org/eclipse/swt/internal/widgets/displaykit/DNDSupport_Test.java b/tests/org.eclipse.rap.rwt.test/src/org/eclipse/swt/internal/widgets/displaykit/DNDSupport_Test.java
index 1482d14..6b3fe45 100644
--- a/tests/org.eclipse.rap.rwt.test/src/org/eclipse/swt/internal/widgets/displaykit/DNDSupport_Test.java
+++ b/tests/org.eclipse.rap.rwt.test/src/org/eclipse/swt/internal/widgets/displaykit/DNDSupport_Test.java
@@ -22,6 +22,7 @@
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import junit.framework.TestCase;
@@ -60,7 +61,7 @@
private Display display;
private Shell shell;
- private java.util.List<TypedEvent> log;
+ private List<TypedEvent> log;
private Control sourceControl;
private Control targetControl;
private DragSource dragSource;
@@ -70,7 +71,6 @@
@Override
protected void setUp() throws Exception {
Fixture.setUp();
- Fixture.fakePhase( PhaseId.PROCESS_ACTION );
display = new Display();
shell = new Shell( display );
shell.open();
@@ -78,6 +78,7 @@
targetControl = new Label( shell, SWT.NONE );
log = new ArrayList<TypedEvent>();
Fixture.fakeNewRequest( display );
+ Fixture.fakePhase( PhaseId.PROCESS_ACTION );
transfers = new Transfer[] {
HTMLTransfer.getInstance(),
TextTransfer.getInstance()
@@ -185,7 +186,7 @@
createDropTarget( DND.DROP_MOVE );
addLogger( dragSource );
addLogger( dropTarget );
- addSetDataListener( dragSource, "text" );
+ addSetDragDataListener( dragSource, "text" );
fakeDropTargetEvent( "dropAccept", 1 );
fakeDragSourceEvent( "dragFinished", 2 );
@@ -200,7 +201,7 @@
createDropTarget( DND.DROP_MOVE );
addLogger( dragSource );
addLogger( dropTarget );
- addSetDataListener( dragSource, "Hello World!" );
+ addSetDragDataListener( dragSource, "Hello World!" );
createDropTargetEvent( "dropAccept", 0, 0, "move", getTextType(), 1 );
@@ -217,7 +218,7 @@
createDropTarget( DND.DROP_MOVE );
addLogger( dragSource );
addLogger( dropTarget );
- addSetDataListener( dragSource, new Date() );
+ addSetDragDataListener( dragSource, new Date() );
SWTException exception = null;
@@ -251,7 +252,7 @@
}
} );
addLogger( dragSource );
- addSetDataListener( dragSource, "data" );
+ addSetDragDataListener( dragSource, "data" );
fakeDropTargetEvent( "dropAccept", 1 );
@@ -327,7 +328,7 @@
createDragSource( DND.DROP_MOVE | DND.DROP_COPY );
createDropTarget( DND.DROP_MOVE | DND.DROP_COPY );
addLogger( dragSource );
- addSetDataListener( dragSource, "text Data" );
+ addSetDragDataListener( dragSource, "text Data" );
dropTarget.addDropListener( new DropTargetAdapter() {
@Override
public void dropAccept( DropTargetEvent event ) {
@@ -403,9 +404,9 @@
public void testDragSetDataDataType() {
createDragSource( DND.DROP_MOVE );
createDropTarget( DND.DROP_MOVE );
+ addSetDragDataListener( dragSource, "string" );
addLogger( dropTarget );
addLogger( dragSource );
- addSetDataListener( dragSource, "string" );
fakeDropTargetEvent( "dropAccept", 0 );
Fixture.readDataAndProcessAction( display );
@@ -472,14 +473,14 @@
public void testDropAcceptWithDetailChangedOnEnter() {
createDragSource( DND.DROP_MOVE | DND.DROP_LINK | DND.DROP_COPY );
createDropTarget( DND.DROP_MOVE | DND.DROP_LINK | DND.DROP_COPY );
- addSetDataListener( dragSource, "some data" );
- addLogger( dropTarget );
+ addSetDragDataListener( dragSource, "some data" );
dropTarget.addDropListener( new DropTargetAdapter() {
@Override
public void dragEnter( DropTargetEvent event ) {
event.detail = DND.DROP_COPY;
}
} );
+ addLogger( dropTarget );
Fixture.executeLifeCycleFromServerThread(); // clear pending message operations
Fixture.fakeNewRequest( display );
@@ -779,10 +780,10 @@
}
private void addLogger( DropTarget dropTarget ) {
- dropTarget.addDropListener( new LogingDropTargetListener() );
+ dropTarget.addDropListener( new LoggingDropTargetListener() );
}
- private class LogingDropTargetListener implements DropTargetListener {
+ private class LoggingDropTargetListener implements DropTargetListener {
public void dragEnter( DropTargetEvent event ) {
log.add( event );
}
@@ -811,7 +812,7 @@
return result;
}
- private void addSetDataListener( DragSource dragSource, final Object data ) {
+ private void addSetDragDataListener( DragSource dragSource, final Object data ) {
dragSource.addDragListener( new DragSourceAdapter() {
@Override
public void dragSetData( DragSourceEvent event ) {
@@ -820,12 +821,12 @@
} );
}
- private DropTargetEvent getDropTargetEvent( int i ) {
- return ( DropTargetEvent )log.get( i );
+ private DropTargetEvent getDropTargetEvent( int index ) {
+ return ( DropTargetEvent )log.get( index );
}
- private DragSourceEvent getDragSourceEvent( int i ) {
- return ( DragSourceEvent )log.get( i );
+ private DragSourceEvent getDragSourceEvent( int index ) {
+ return ( DragSourceEvent )log.get( index );
}
}
diff --git a/tests/org.eclipse.rap.rwt.test/src/org/eclipse/swt/internal/widgets/shellkit/ShellLCA_Test.java b/tests/org.eclipse.rap.rwt.test/src/org/eclipse/swt/internal/widgets/shellkit/ShellLCA_Test.java
index b6f43bd..c641c0e 100644
--- a/tests/org.eclipse.rap.rwt.test/src/org/eclipse/swt/internal/widgets/shellkit/ShellLCA_Test.java
+++ b/tests/org.eclipse.rap.rwt.test/src/org/eclipse/swt/internal/widgets/shellkit/ShellLCA_Test.java
@@ -74,6 +74,7 @@
display = new Display();
shell = new Shell( display );
Fixture.fakeNewRequest( display );
+ Fixture.fakePhase( PhaseId.PROCESS_ACTION );
}
@Override
@@ -271,8 +272,9 @@
}
public void testUntypedActivateEvent() {
- Fixture.fakePhase( PhaseId.PROCESS_ACTION );
shell.open();
+ Shell otherShell = new Shell( display );
+ otherShell.open();
Listener listener = mock( Listener.class );
shell.addListener( SWT.Activate, listener );
@@ -283,8 +285,9 @@
}
public void testTypedActivateEvent() {
- Fixture.fakePhase( PhaseId.PROCESS_ACTION );
shell.open();
+ Shell otherShell = new Shell( display );
+ otherShell.open();
ShellListener listener = mock( ShellListener.class );
shell.addShellListener( listener );
@@ -319,7 +322,6 @@
}
public void testShellActivate() {
- Fixture.fakePhase( PhaseId.PROCESS_ACTION );
final StringBuilder activateEventLog = new StringBuilder();
Listener activateListener = new Listener() {
public void handleEvent( Event event ) {
@@ -366,8 +368,6 @@
assertSame( shellToActivate, display.getActiveShell() );
String expected = "deactivated:activeShell|activated:shellToActivate|";
-System.out.println( "expected " + expected );
-System.out.println( "actual " + activateEventLog.toString() );
assertEquals( expected, activateEventLog.toString() );
assertEquals( expected, shellEventLog.toString() );
// Ensure that no setActive javaScript code is rendered for client-side activated Shell
diff --git a/tests/org.eclipse.rap.rwt.test/src/org/eclipse/swt/internal/widgets/tablekit/TableLCA_Test.java b/tests/org.eclipse.rap.rwt.test/src/org/eclipse/swt/internal/widgets/tablekit/TableLCA_Test.java
index 4412504..5d18e46 100644
--- a/tests/org.eclipse.rap.rwt.test/src/org/eclipse/swt/internal/widgets/tablekit/TableLCA_Test.java
+++ b/tests/org.eclipse.rap.rwt.test/src/org/eclipse/swt/internal/widgets/tablekit/TableLCA_Test.java
@@ -16,6 +16,7 @@
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyZeroInteractions;
import java.io.IOException;
import java.util.Arrays;
@@ -400,11 +401,8 @@
Fixture.fakePhase( PhaseId.PROCESS_ACTION );
shell.setSize( 100, 100 );
Table table = new Table( shell, SWT.VIRTUAL );
- table.addListener( SWT.SetData, new Listener() {
- public void handleEvent( Event event ) {
- fail( "Must not trigger SetData event" );
- }
- } );
+ Listener setDataListener = mock( Listener.class );
+ table.addListener( SWT.SetData, setDataListener );
Fixture.fakePhase( PhaseId.READ_DATA );
table.setItemCount( 1 );
@@ -413,11 +411,9 @@
Fixture.fakePhase( PhaseId.PROCESS_ACTION );
table.setItemCount( 0 );
- int eventCount = 0;
while( display.readAndDispatch() ) {
- eventCount++;
}
- assertEquals( 1, eventCount );
+ verifyZeroInteractions( setDataListener );
}
public void testGetItemMetrics() {
@@ -728,9 +724,8 @@
Fixture.readDataAndProcessAction( table );
ArgumentCaptor<SelectionEvent> captor = ArgumentCaptor.forClass( SelectionEvent.class );
- verify( listener, times( 1 ) ).widgetSelected( captor.capture() );
+ verify( listener ).widgetSelected( captor.capture() );
assertSame( table.getItem( 2 ), captor.getValue().item );
- assertEquals( "", captor.getValue().text );
}
public void testRenderNonNegativeImageWidth() {