Don't use mockito in Nebula Grid tests
As Nebula Grid tests are executed against signed RAP Runtime Nightly
build, mocking RAP Runtime classes is not possible.
diff --git a/tests/org.eclipse.rap.nebula.widgets.grid.test/src/org/eclipse/nebula/widgets/grid/internal/gridcolumngroupkip/GridColumnGroupLCA_Test.java b/tests/org.eclipse.rap.nebula.widgets.grid.test/src/org/eclipse/nebula/widgets/grid/internal/gridcolumngroupkip/GridColumnGroupLCA_Test.java
index 0670431..fc79bac 100644
--- a/tests/org.eclipse.rap.nebula.widgets.grid.test/src/org/eclipse/nebula/widgets/grid/internal/gridcolumngroupkip/GridColumnGroupLCA_Test.java
+++ b/tests/org.eclipse.rap.nebula.widgets.grid.test/src/org/eclipse/nebula/widgets/grid/internal/gridcolumngroupkip/GridColumnGroupLCA_Test.java
@@ -14,12 +14,9 @@
import static org.eclipse.nebula.widgets.grid.GridTestUtil.loadImage;
import static org.eclipse.nebula.widgets.grid.internal.gridkit.GridLCATestUtil.jsonEquals;
import static org.eclipse.rap.rwt.lifecycle.WidgetUtil.getId;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-
import java.io.IOException;
import java.util.Arrays;
+import java.util.LinkedList;
import java.util.List;
import org.eclipse.nebula.widgets.grid.Grid;
@@ -34,18 +31,16 @@
import org.eclipse.rap.rwt.testfixture.Message.DestroyOperation;
import org.eclipse.rap.rwt.testfixture.Message.Operation;
import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.TreeEvent;
-import org.eclipse.swt.events.TreeListener;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.internal.graphics.ImageFactory;
import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Shell;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
-import org.mockito.ArgumentCaptor;
-
import junit.framework.TestCase;
@@ -246,31 +241,29 @@
}
public void testProcessTreeEvent_Expanded() {
- TreeListener treeListener = mock( TreeListener.class );
- group.addTreeListener( treeListener );
+ List<Event> events = new LinkedList<Event>();
+ group.addListener( SWT.Expand, new LoggingTreeListener( events ) );
group.setExpanded( false );
Fixture.fakeNotifyOperation( getId( group ), ClientMessageConst.EVENT_TREE_EXPANDED, null );
Fixture.readDataAndProcessAction( group );
- ArgumentCaptor<TreeEvent> captor = ArgumentCaptor.forClass( TreeEvent.class );
- verify( treeListener, times( 1 ) ).treeExpanded( captor.capture() );
- TreeEvent event = captor.getValue();
- assertEquals( group, event.getSource() );
+ assertEquals( 1, events.size() );
+ Event event = events.get( 0 );
+ assertEquals( group, event.widget );
assertTrue( group.getExpanded() );
}
public void testProcessTreeEvent_Collapsed() {
- TreeListener treeListener = mock( TreeListener.class );
- group.addTreeListener( treeListener );
+ List<Event> events = new LinkedList<Event>();
+ group.addListener( SWT.Collapse, new LoggingTreeListener( events ) );
Fixture.fakeNotifyOperation( getId( group ), ClientMessageConst.EVENT_TREE_COLLAPSED, null );
Fixture.readDataAndProcessAction( group );
- ArgumentCaptor<TreeEvent> captor = ArgumentCaptor.forClass( TreeEvent.class );
- verify( treeListener, times( 1 ) ).treeCollapsed( captor.capture() );
- TreeEvent event = captor.getValue();
- assertEquals( group, event.getSource() );
+ assertEquals( 1, events.size() );
+ Event event = events.get( 0 );
+ assertEquals( group, event.widget );
assertFalse( group.getExpanded() );
}
@@ -430,4 +423,17 @@
assertNull( message.findSetOperation( group, "customVariant" ) );
}
+ //////////////////
+ // Helping classes
+
+ private static class LoggingTreeListener implements Listener {
+ private final List<Event> events;
+ private LoggingTreeListener( List<Event> events ) {
+ this.events = events;
+ }
+ public void handleEvent( Event event ) {
+ events.add( event );
+ }
+ }
+
}
diff --git a/tests/org.eclipse.rap.nebula.widgets.grid.test/src/org/eclipse/nebula/widgets/grid/internal/gridcolumnkit/GridColumnLCA_Test.java b/tests/org.eclipse.rap.nebula.widgets.grid.test/src/org/eclipse/nebula/widgets/grid/internal/gridcolumnkit/GridColumnLCA_Test.java
index 64afc1c..5231437 100644
--- a/tests/org.eclipse.rap.nebula.widgets.grid.test/src/org/eclipse/nebula/widgets/grid/internal/gridcolumnkit/GridColumnLCA_Test.java
+++ b/tests/org.eclipse.rap.nebula.widgets.grid.test/src/org/eclipse/nebula/widgets/grid/internal/gridcolumnkit/GridColumnLCA_Test.java
@@ -14,11 +14,6 @@
import static org.eclipse.nebula.widgets.grid.GridTestUtil.loadImage;
import static org.eclipse.nebula.widgets.grid.internal.gridkit.GridLCATestUtil.jsonEquals;
import static org.eclipse.rap.rwt.lifecycle.WidgetUtil.getId;
-import static org.mockito.Matchers.any;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-
import java.io.IOException;
import java.util.HashMap;
import java.util.LinkedList;
@@ -37,8 +32,6 @@
import org.eclipse.rap.rwt.testfixture.Message.DestroyOperation;
import org.eclipse.rap.rwt.testfixture.Message.Operation;
import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.ControlListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
@@ -46,6 +39,8 @@
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.internal.graphics.ImageFactory;
import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Shell;
import org.json.JSONArray;
import org.json.JSONException;
@@ -523,11 +518,10 @@
}
public void testReadWidth() {
+ final List<Event> events = new LinkedList<Event>();
GridColumn[] columns = createGridColumns( grid, 2, SWT.NONE );
- ControlListener controlListener0 = mock( ControlListener.class );
- columns[ 0 ].addControlListener( controlListener0 );
- ControlListener controlListener1 = mock( ControlListener.class );
- columns[ 1 ].addControlListener( controlListener1 );
+ columns[ 0 ].addListener( SWT.Resize, new LoggingControlListener( events ) );
+ columns[ 1 ].addListener( SWT.Move, new LoggingControlListener( events ) );
// Simulate request that initializes widgets
Fixture.fakeNewRequest( display );
@@ -541,22 +535,23 @@
Fixture.fakeCallOperation( getId( columns[ 0 ] ), "resize", parameters );
Fixture.executeLifeCycleFromServerThread();
- verify( controlListener0, times( 1 ) ).controlResized( any( ControlEvent.class ) );
+ assertEquals( 2, events.size() );
+ Event event = events.get( 0 );
+ assertSame( columns[ 0 ], event.widget );
assertEquals( newWidth, columns[ 0 ].getWidth() );
- verify( controlListener1, times( 1 ) ).controlMoved( any( ControlEvent.class ) );
+ event = events.get( 1 );
+ assertSame( columns[ 1 ], event.widget );
Message message = Fixture.getProtocolMessage();
assertEquals( Integer.valueOf( newWidth ), message.findSetProperty( columns[ 0 ], "width" ) );
assertEquals( Integer.valueOf( newLeft ), message.findSetProperty( columns[ 1 ], "left" ) );
}
public void testReadLeft() {
+ final List<Event> events = new LinkedList<Event>();
GridColumn[] columns = createGridColumns( grid, 2, SWT.NONE );
- ControlListener controlListener = mock( ControlListener.class );
- column.addControlListener( controlListener );
- ControlListener controlListener0 = mock( ControlListener.class );
- columns[ 0 ].addControlListener( controlListener0 );
- ControlListener controlListener1 = mock( ControlListener.class );
- columns[ 1 ].addControlListener( controlListener1 );
+ column.addListener( SWT.Move, new LoggingControlListener( events ) );
+ columns[ 0 ].addListener( SWT.Move, new LoggingControlListener( events ) );
+ columns[ 1 ].addListener( SWT.Move, new LoggingControlListener( events ) );
// Simulate request that initializes widgets
Fixture.fakeNewRequest( display );
@@ -569,9 +564,11 @@
Fixture.fakeCallOperation( getId( columns[ 0 ] ), "move", parameters );
Fixture.executeLifeCycleFromServerThread();
- verify( controlListener, times( 1 ) ).controlMoved( any( ControlEvent.class ) );
- verify( controlListener0, times( 1 ) ).controlMoved( any( ControlEvent.class ) );
- verify( controlListener1, times( 0 ) ).controlMoved( any( ControlEvent.class ) );
+ assertEquals( 2, events.size() );
+ Event event = events.get( 0 );
+ assertSame( columns[ 0 ], event.widget );
+ event = events.get( 1 );
+ assertSame( column, event.widget );
Message message = Fixture.getProtocolMessage();
assertEquals( Integer.valueOf( 20 ), message.findSetProperty( column, "left" ) );
assertEquals( Integer.valueOf( 0 ), message.findSetProperty( columns[ 0 ], "left" ) );
@@ -976,4 +973,17 @@
assertEquals( JSONObject.NULL, message.findSetProperty( column, "footerImage" ) );
}
+ //////////////////
+ // Helping classes
+
+ private static class LoggingControlListener implements Listener {
+ private final List<Event> events;
+ private LoggingControlListener( List<Event> events ) {
+ this.events = events;
+ }
+ public void handleEvent( Event event ) {
+ events.add( event );
+ }
+ }
+
}
diff --git a/tests/org.eclipse.rap.nebula.widgets.grid.test/src/org/eclipse/nebula/widgets/grid/internal/griditemkit/GridItemLCA_Test.java b/tests/org.eclipse.rap.nebula.widgets.grid.test/src/org/eclipse/nebula/widgets/grid/internal/griditemkit/GridItemLCA_Test.java
index 14c3f77..67a3dfa 100644
--- a/tests/org.eclipse.rap.nebula.widgets.grid.test/src/org/eclipse/nebula/widgets/grid/internal/griditemkit/GridItemLCA_Test.java
+++ b/tests/org.eclipse.rap.nebula.widgets.grid.test/src/org/eclipse/nebula/widgets/grid/internal/griditemkit/GridItemLCA_Test.java
@@ -16,11 +16,10 @@
import static org.eclipse.nebula.widgets.grid.internal.gridkit.GridLCATestUtil.jsonEquals;
import static org.eclipse.rap.rwt.internal.protocol.ClientMessageConst.EVENT_TREE_EXPANDED;
import static org.eclipse.rap.rwt.lifecycle.WidgetUtil.getId;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-
import java.io.IOException;
+import java.util.LinkedList;
+import java.util.List;
+
import org.eclipse.nebula.widgets.grid.Grid;
import org.eclipse.nebula.widgets.grid.GridItem;
import org.eclipse.rap.rwt.RWT;
@@ -32,17 +31,15 @@
import org.eclipse.rap.rwt.testfixture.Message.CreateOperation;
import org.eclipse.rap.rwt.testfixture.Message.DestroyOperation;
import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.TreeEvent;
-import org.eclipse.swt.events.TreeListener;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Shell;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
-import org.mockito.ArgumentCaptor;
-
import junit.framework.TestCase;
@@ -620,34 +617,32 @@
}
public void testProcessTreeEvent_Expanded() {
- TreeListener treeListener = mock( TestTreeListener.class );
- grid.addTreeListener( treeListener );
+ List<Event> events = new LinkedList<Event>();
+ grid.addListener( SWT.Expand, new LoggingTreeListener( events ) );
new GridItem( item, SWT.NONE );
Fixture.fakeNotifyOperation( getId( item ), ClientMessageConst.EVENT_TREE_EXPANDED, null );
Fixture.readDataAndProcessAction( item );
- ArgumentCaptor<TreeEvent> captor = ArgumentCaptor.forClass( TreeEvent.class );
- verify( treeListener, times( 1 ) ).treeExpanded( captor.capture() );
- TreeEvent event = captor.getValue();
- assertEquals( grid, event.getSource() );
+ assertEquals( 1, events.size() );
+ Event event = events.get( 0 );
+ assertEquals( grid, event.widget );
assertEquals( item, event.item );
assertTrue( item.isExpanded() );
}
public void testProcessTreeEvent_Collapsed() {
- TreeListener treeListener = mock( TestTreeListener.class );
- grid.addTreeListener( treeListener );
+ List<Event> events = new LinkedList<Event>();
+ grid.addListener( SWT.Collapse, new LoggingTreeListener( events ) );
new GridItem( item, SWT.NONE );
item.setExpanded( true );
Fixture.fakeNotifyOperation( getId( item ), ClientMessageConst.EVENT_TREE_COLLAPSED, null );
Fixture.readDataAndProcessAction( item );
- ArgumentCaptor<TreeEvent> captor = ArgumentCaptor.forClass( TreeEvent.class );
- verify( treeListener, times( 1 ) ).treeCollapsed( captor.capture() );
- TreeEvent event = captor.getValue();
- assertEquals( grid, event.getSource() );
+ assertEquals( 1, events.size() );
+ Event event = events.get( 0 );
+ assertEquals( grid, event.widget );
assertEquals( item, event.item );
assertFalse( item.isExpanded() );
}
@@ -669,12 +664,13 @@
//////////////////
// Helping classes
- // [if] Workaround for mockito exception on the build server:
- // "Mockito cannot mock this class: interface org.eclipse.swt.events.TreeListener"
- public static class TestTreeListener implements TreeListener {
- public void treeCollapsed( TreeEvent event ) {
+ private static class LoggingTreeListener implements Listener {
+ private final List<Event> events;
+ private LoggingTreeListener( List<Event> events ) {
+ this.events = events;
}
- public void treeExpanded( TreeEvent event ) {
+ public void handleEvent( Event event ) {
+ events.add( event );
}
}