Author: bayard
Date: Wed Dec 1 07:18:16 2010
New Revision: 1040879
URL: http://svn.apache.org/viewvc?rev=1040879&view=rev
Log:
Moving away from testing with java.awt code because on OS X it kicks off a Java
UI window, also causing Gump to fail when running headless. See:
http://mail-archives.apache.org/mod_mbox/commons-dev/201011.mbox/%[email protected]%3e
and its replies
Modified:
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/event/EventListenerSupportTest.java
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/event/EventUtilsTest.java
Modified:
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/event/EventListenerSupportTest.java
URL:
http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/event/EventListenerSupportTest.java?rev=1040879&r1=1040878&r2=1040879&view=diff
==============================================================================
---
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/event/EventListenerSupportTest.java
(original)
+++
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/event/EventListenerSupportTest.java
Wed Dec 1 07:18:16 2010
@@ -17,8 +17,9 @@
package org.apache.commons.lang3.event;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
+import java.beans.PropertyVetoException;
+import java.beans.PropertyChangeEvent;
+import java.beans.VetoableChangeListener;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
@@ -26,6 +27,7 @@ import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.lang.reflect.Method;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
import junit.framework.TestCase;
@@ -40,7 +42,7 @@ public class EventListenerSupportTest ex
{
public void testAddNullListener()
{
- EventListenerSupport<ActionListener> listenerSupport =
EventListenerSupport.create(ActionListener.class);
+ EventListenerSupport<VetoableChangeListener> listenerSupport =
EventListenerSupport.create(VetoableChangeListener.class);
try
{
listenerSupport.addListener(null);
@@ -54,7 +56,7 @@ public class EventListenerSupportTest ex
public void testRemoveNullListener()
{
- EventListenerSupport<ActionListener> listenerSupport =
EventListenerSupport.create(ActionListener.class);
+ EventListenerSupport<VetoableChangeListener> listenerSupport =
EventListenerSupport.create(VetoableChangeListener.class);
try
{
listenerSupport.removeListener(null);
@@ -66,16 +68,16 @@ public class EventListenerSupportTest ex
}
}
- public void testEventDispatchOrder()
+ public void testEventDispatchOrder() throws PropertyVetoException
{
- EventListenerSupport<ActionListener> listenerSupport =
EventListenerSupport.create(ActionListener.class);
- final List<ActionListener> calledListeners = new
ArrayList<ActionListener>();
+ EventListenerSupport<VetoableChangeListener> listenerSupport =
EventListenerSupport.create(VetoableChangeListener.class);
+ final List<VetoableChangeListener> calledListeners = new
ArrayList<VetoableChangeListener>();
- final ActionListener listener1 = createListener(calledListeners);
- final ActionListener listener2 = createListener(calledListeners);
+ final VetoableChangeListener listener1 =
createListener(calledListeners);
+ final VetoableChangeListener listener2 =
createListener(calledListeners);
listenerSupport.addListener(listener1);
listenerSupport.addListener(listener2);
- listenerSupport.fire().actionPerformed(new ActionEvent("Hello", 0,
"Hello"));
+ listenerSupport.fire().vetoableChange(new PropertyChangeEvent(new
Date(), "Day", 4, 5));
assertEquals(calledListeners.size(), 2);
assertSame(calledListeners.get(0), listener1);
assertSame(calledListeners.get(1), listener2);
@@ -107,32 +109,32 @@ public class EventListenerSupportTest ex
}
}
- public void testRemoveListenerDuringEvent()
+ public void testRemoveListenerDuringEvent() throws PropertyVetoException
{
- final EventListenerSupport<ActionListener> listenerSupport =
EventListenerSupport.create(ActionListener.class);
+ final EventListenerSupport<VetoableChangeListener> listenerSupport =
EventListenerSupport.create(VetoableChangeListener.class);
for (int i = 0; i < 10; ++i)
{
addDeregisterListener(listenerSupport);
}
assertEquals(listenerSupport.getListenerCount(), 10);
- listenerSupport.fire().actionPerformed(new ActionEvent("Hello", 0,
"Hello"));
+ listenerSupport.fire().vetoableChange(new PropertyChangeEvent(new
Date(), "Day", 4, 5));
assertEquals(listenerSupport.getListenerCount(), 0);
}
public void testGetListeners() {
- final EventListenerSupport<ActionListener> listenerSupport =
EventListenerSupport.create(ActionListener.class);
+ final EventListenerSupport<VetoableChangeListener> listenerSupport =
EventListenerSupport.create(VetoableChangeListener.class);
- ActionListener[] listeners = listenerSupport.getListeners();
+ VetoableChangeListener[] listeners = listenerSupport.getListeners();
assertEquals(0, listeners.length);
- assertEquals(ActionListener.class,
listeners.getClass().getComponentType());
- ActionListener[] empty = listeners;
+ assertEquals(VetoableChangeListener.class,
listeners.getClass().getComponentType());
+ VetoableChangeListener[] empty = listeners;
//for fun, show that the same empty instance is used
assertSame(empty, listenerSupport.getListeners());
- ActionListener listener1 =
EasyMock.createNiceMock(ActionListener.class);
+ VetoableChangeListener listener1 =
EasyMock.createNiceMock(VetoableChangeListener.class);
listenerSupport.addListener(listener1);
assertEquals(1, listenerSupport.getListeners().length);
- ActionListener listener2 =
EasyMock.createNiceMock(ActionListener.class);
+ VetoableChangeListener listener2 =
EasyMock.createNiceMock(VetoableChangeListener.class);
listenerSupport.addListener(listener2);
assertEquals(2, listenerSupport.getListeners().length);
listenerSupport.removeListener(listener1);
@@ -141,14 +143,14 @@ public class EventListenerSupportTest ex
assertSame(empty, listenerSupport.getListeners());
}
- public void testSerialization() throws IOException, ClassNotFoundException
{
- EventListenerSupport<ActionListener> listenerSupport =
EventListenerSupport.create(ActionListener.class);
- listenerSupport.addListener(new ActionListener() {
+ public void testSerialization() throws IOException,
ClassNotFoundException, PropertyVetoException {
+ EventListenerSupport<VetoableChangeListener> listenerSupport =
EventListenerSupport.create(VetoableChangeListener.class);
+ listenerSupport.addListener(new VetoableChangeListener() {
- public void actionPerformed(ActionEvent e) {
+ public void vetoableChange(PropertyChangeEvent e) {
}
});
-
listenerSupport.addListener(EasyMock.createNiceMock(ActionListener.class));
+
listenerSupport.addListener(EasyMock.createNiceMock(VetoableChangeListener.class));
//serialize:
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
@@ -159,20 +161,20 @@ public class EventListenerSupportTest ex
//deserialize:
@SuppressWarnings("unchecked")
- EventListenerSupport<ActionListener> deserializedListenerSupport =
(EventListenerSupport<ActionListener>) new ObjectInputStream(
+ EventListenerSupport<VetoableChangeListener>
deserializedListenerSupport = (EventListenerSupport<VetoableChangeListener>)
new ObjectInputStream(
new
ByteArrayInputStream(outputStream.toByteArray())).readObject();
//make sure we get a listener array back, of the correct component
type, and that it contains only the serializable mock
- ActionListener[] listeners =
deserializedListenerSupport.getListeners();
- assertEquals(ActionListener.class,
listeners.getClass().getComponentType());
+ VetoableChangeListener[] listeners =
deserializedListenerSupport.getListeners();
+ assertEquals(VetoableChangeListener.class,
listeners.getClass().getComponentType());
assertEquals(1, listeners.length);
//now verify that the mock still receives events; we can infer that
the proxy was correctly reconstituted
- ActionListener listener = listeners[0];
- ActionEvent evt = new ActionEvent(new Object(), 666, "sit");
- listener.actionPerformed(evt);
+ VetoableChangeListener listener = listeners[0];
+ PropertyChangeEvent evt = new PropertyChangeEvent(new Date(), "Day",
7, 9);
+ listener.vetoableChange(evt);
EasyMock.replay(listener);
- deserializedListenerSupport.fire().actionPerformed(evt);
+ deserializedListenerSupport.fire().vetoableChange(evt);
EasyMock.verify(listener);
//remove listener and verify we get an empty array of listeners
@@ -180,11 +182,11 @@ public class EventListenerSupportTest ex
assertEquals(0, deserializedListenerSupport.getListeners().length);
}
- public void testSubclassInvocationHandling() {
+ public void testSubclassInvocationHandling() throws PropertyVetoException {
@SuppressWarnings("serial")
- EventListenerSupport<ActionListener> eventListenerSupport = new
EventListenerSupport<ActionListener>(
- ActionListener.class) {
+ EventListenerSupport<VetoableChangeListener> eventListenerSupport =
new EventListenerSupport<VetoableChangeListener>(
+ VetoableChangeListener.class) {
protected java.lang.reflect.InvocationHandler
createInvocationHandler() {
return new ProxyInvocationHandler() {
/**
@@ -193,42 +195,42 @@ public class EventListenerSupportTest ex
@Override
public Object invoke(Object proxy, Method method, Object[]
args)
throws Throwable {
- return "actionPerformed".equals(method.getName())
- && "ignore".equals(((ActionEvent)
args[0]).getActionCommand()) ? null
+ return "vetoableChange".equals(method.getName())
+ && "Hour".equals(((PropertyChangeEvent)
args[0]).getPropertyName()) ? null
: super.invoke(proxy, method, args);
}
};
};
};
- ActionListener listener =
EasyMock.createNiceMock(ActionListener.class);
+ VetoableChangeListener listener =
EasyMock.createNiceMock(VetoableChangeListener.class);
eventListenerSupport.addListener(listener);
- Object source = new Object();
- ActionEvent ignore = new ActionEvent(source, 0, "ignore");
- ActionEvent respond = new ActionEvent(source, 1, "respond");
- listener.actionPerformed(respond);
+ Object source = new Date();
+ PropertyChangeEvent ignore = new PropertyChangeEvent(source, "Hour",
5, 6);
+ PropertyChangeEvent respond = new PropertyChangeEvent(source, "Day",
6, 7);
+ listener.vetoableChange(respond);
EasyMock.replay(listener);
- eventListenerSupport.fire().actionPerformed(ignore);
- eventListenerSupport.fire().actionPerformed(respond);
+ eventListenerSupport.fire().vetoableChange(ignore);
+ eventListenerSupport.fire().vetoableChange(respond);
EasyMock.verify(listener);
}
- private void addDeregisterListener(final
EventListenerSupport<ActionListener> listenerSupport)
+ private void addDeregisterListener(final
EventListenerSupport<VetoableChangeListener> listenerSupport)
{
- listenerSupport.addListener(new ActionListener()
+ listenerSupport.addListener(new VetoableChangeListener()
{
- public void actionPerformed(ActionEvent e)
+ public void vetoableChange(PropertyChangeEvent e)
{
listenerSupport.removeListener(this);
}
});
}
- private ActionListener createListener(final List<ActionListener>
calledListeners)
+ private VetoableChangeListener createListener(final
List<VetoableChangeListener> calledListeners)
{
- return new ActionListener()
+ return new VetoableChangeListener()
{
- public void actionPerformed(ActionEvent e)
+ public void vetoableChange(PropertyChangeEvent e)
{
calledListeners.add(this);
}
Modified:
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/event/EventUtilsTest.java
URL:
http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/event/EventUtilsTest.java?rev=1040879&r1=1040878&r2=1040879&view=diff
==============================================================================
---
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/event/EventUtilsTest.java
(original)
+++
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/event/EventUtilsTest.java
Wed Dec 1 07:18:16 2010
@@ -16,14 +16,14 @@
*/
package org.apache.commons.lang3.event;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
+import javax.naming.event.ObjectChangeListener;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.beans.VetoableChangeListener;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
+import java.util.Date;
import java.util.Map;
import java.util.TreeMap;
@@ -51,15 +51,15 @@ public class EventUtilsTest extends Test
{
final PropertyChangeSource src = new PropertyChangeSource();
EventCountingInvociationHandler handler = new
EventCountingInvociationHandler();
- ActionListener listener = handler.createListener(ActionListener.class);
+ ObjectChangeListener listener =
handler.createListener(ObjectChangeListener.class);
try
{
- EventUtils.addEventListener(src, ActionListener.class, listener);
+ EventUtils.addEventListener(src, ObjectChangeListener.class,
listener);
fail("Should not be allowed to add a listener to an object that
doesn't support it.");
}
catch (IllegalArgumentException e)
{
- assertEquals("Class " + src.getClass().getName() + " does not have
a public add" + ActionListener.class.getSimpleName() + " method which takes a
parameter of type " + ActionListener.class.getName() + ".", e.getMessage());
+ assertEquals("Class " + src.getClass().getName() + " does not have
a public add" + ObjectChangeListener.class.getSimpleName() + " method which
takes a parameter of type " + ObjectChangeListener.class.getName() + ".",
e.getMessage());
}
}
@@ -68,9 +68,9 @@ public class EventUtilsTest extends Test
final ExceptionEventSource src = new ExceptionEventSource();
try
{
- EventUtils.addEventListener(src, ActionListener.class, new
ActionListener()
+ EventUtils.addEventListener(src, PropertyChangeListener.class, new
PropertyChangeListener()
{
- public void actionPerformed(ActionEvent e)
+ public void propertyChange(PropertyChangeEvent e)
{
// Do nothing!
}
@@ -127,17 +127,17 @@ public class EventUtilsTest extends Test
final EventCounter counter = new EventCounter();
EventUtils.bindEventsToMethod(counter, "eventOccurred", src,
MultipleEventListener.class, "event1");
assertEquals(0, counter.getCount());
- src.listeners.fire().event1(new ActionEvent(src,
ActionEvent.ACTION_PERFORMED, "event1"));
+ src.listeners.fire().event1(new PropertyChangeEvent(new Date(), "Day",
0, 1));
assertEquals(1, counter.getCount());
- src.listeners.fire().event2(new ActionEvent(src,
ActionEvent.ACTION_PERFORMED, "event2"));
+ src.listeners.fire().event2(new PropertyChangeEvent(new Date(), "Day",
1, 2));
assertEquals(1, counter.getCount());
}
public static interface MultipleEventListener
{
- public void event1(ActionEvent e);
+ public void event1(PropertyChangeEvent e);
- public void event2(ActionEvent e);
+ public void event2(PropertyChangeEvent e);
}
public static class EventCounter
@@ -215,7 +215,7 @@ public class EventUtilsTest extends Test
public static class ExceptionEventSource
{
- public void addActionListener(ActionListener listener)
+ public void addPropertyChangeListener(PropertyChangeListener listener)
{
throw new RuntimeException();
}