|
Lines 241-246
Link Here
|
| 241 |
assertEquals( "Hello World!", dropEvent.data ); |
241 |
assertEquals( "Hello World!", dropEvent.data ); |
| 242 |
} |
242 |
} |
| 243 |
|
243 |
|
|
|
244 |
// see Bug 298447 |
| 245 |
public void testByteArrayTransfer() { |
| 246 |
ByteArrayTransfer myTransfer = new ByteArrayTransfer(){ |
| 247 |
protected int[] getTypeIds() { |
| 248 |
return new int[]{ 99 }; |
| 249 |
} |
| 250 |
protected String[] getTypeNames() { |
| 251 |
return new String[] { "byteTransfer" }; |
| 252 |
} |
| 253 |
}; |
| 254 |
final java.util.List log = new ArrayList(); |
| 255 |
Display display = new Display(); |
| 256 |
Shell shell = new Shell( display ); |
| 257 |
Control dragSourceControl = new Label( shell, SWT.NONE ); |
| 258 |
DragSource dragSource = new DragSource( dragSourceControl, DND.DROP_MOVE ); |
| 259 |
dragSource.setTransfer( new Transfer[] { myTransfer } ); |
| 260 |
Control dropTargetControl = new Label( shell, SWT.NONE ); |
| 261 |
DropTarget dropTarget = new DropTarget( dropTargetControl, DND.DROP_MOVE ); |
| 262 |
dropTarget.setTransfer( new Transfer[] { myTransfer } ); |
| 263 |
dropTarget.addDropListener( new DropTargetAdapter() { |
| 264 |
public void dropAccept( final DropTargetEvent event ) { |
| 265 |
log.add( event ); |
| 266 |
} |
| 267 |
public void drop( final DropTargetEvent event ) { |
| 268 |
log.add( event ); |
| 269 |
} |
| 270 |
} ); |
| 271 |
dragSource.addDragListener( new DragSourceAdapter(){ |
| 272 |
public void dragSetData( final DragSourceEvent event ) { |
| 273 |
log.add( event ); |
| 274 |
event.data = new byte[]{ 34, 94 }; |
| 275 |
} |
| 276 |
} ); |
| 277 |
shell.open(); |
| 278 |
String displayId = DisplayUtil.getId( display ); |
| 279 |
// Simulate request that sends a drop event |
| 280 |
Fixture.fakeResponseWriter(); |
| 281 |
Fixture.fakeRequestParam( RequestParams.UIROOT, displayId ); |
| 282 |
int typeId = myTransfer.getSupportedTypes()[ 0 ].type; |
| 283 |
createDropTargetEvent( dropTargetControl, |
| 284 |
dragSourceControl, |
| 285 |
"dropAccept", |
| 286 |
1, |
| 287 |
2, |
| 288 |
"move", |
| 289 |
typeId, |
| 290 |
1 ); |
| 291 |
// run life cycle |
| 292 |
Fixture.executeLifeCycleFromServerThread(); |
| 293 |
assertEquals( 3, log.size() ); |
| 294 |
DragSourceEvent dragSetDataEvent = ( DragSourceEvent )log.get( 1 ); |
| 295 |
assertEquals( DragSourceEvent.DRAG_SET_DATA, dragSetDataEvent.getID() ); |
| 296 |
TransferData dataType = dragSetDataEvent.dataType; |
| 297 |
assertTrue( myTransfer.isSupportedType( dataType ) ); |
| 298 |
DropTargetEvent dropEvent = ( DropTargetEvent )log.get( 2 ); |
| 299 |
assertEquals( DropTargetEvent.DROP, dropEvent.getID() ); |
| 300 |
byte[] data = ( byte[] )dropEvent.data; |
| 301 |
assertEquals( 34, data[ 0 ] ); |
| 302 |
assertEquals( 94, data[ 1 ] ); |
| 303 |
} |
| 304 |
|
| 244 |
public void testInvalidDataOnDragSetData() { |
305 |
public void testInvalidDataOnDragSetData() { |
| 245 |
final java.util.List log = new ArrayList(); |
306 |
final java.util.List log = new ArrayList(); |
| 246 |
Display display = new Display(); |
307 |
Display display = new Display(); |