public void testActionPerformed() throws Exception { Fixture.fakePhase(PhaseId.PROCESS_ACTION); Display display = new Display(); Shell shell = new Shell(display); Button button = new Button(shell, SWT.PUSH); IEventAdapter eventAdapter = (IEventAdapter) button.getAdapter(IEventAdapter.class); assertNotNull(eventAdapter); assertSame(eventAdapter, button.getAdapter(IEventAdapter.class)); assertFalse(eventAdapter.hasListener(SelectionListener.class)); try { eventAdapter.hasListener(Object.class); fail(); } catch (final IllegalArgumentException iae) { } Object[] listener = eventAdapter.getListener(SelectionListener.class); assertEquals(0, listener.length); SelectionListener actionListener = new SelectionAdapter() {}; eventAdapter.addListener(SelectionListener.class, actionListener); assertTrue(eventAdapter.hasListener(SelectionListener.class)); listener = eventAdapter.getListener(SelectionListener.class); assertEquals(1, listener.length); assertSame(actionListener, listener[0]); eventAdapter.removeListener(SelectionListener.class, actionListener); assertFalse(eventAdapter.hasListener(SelectionListener.class)); }
public void testAddListenerWithIllegalArguments() { Fixture.fakePhase(PhaseId.PROCESS_ACTION); Display display = new Display(); Widget widget = new Shell(display); IEventAdapter eventAdapter = (IEventAdapter) widget.getAdapter(IEventAdapter.class); try { eventAdapter.addListener(SelectionListener.class, new Object()); fail(); } catch (final IllegalArgumentException iae) { } try { eventAdapter.addListener(SelectionListener.class, null); fail(); } catch (final IllegalArgumentException iae) { } try { SelectionListener validListener = new SelectionAdapter() {}; eventAdapter.addListener(null, validListener); fail(); } catch (final IllegalArgumentException iae) { } Object[] listeners = eventAdapter.getListener(SelectionListener.class); assertEquals(0, listeners.length); }