package org.jdesktop.swingx.action; import static org.hamcrest.CoreMatchers.is; import static org.jdesktop.test.SerializableSupport.serialize; import static org.jdesktop.test.matchers.Matchers.equivalentTo; import static org.junit.Assert.assertThat; import javax.swing.JLabel; import org.jdesktop.test.EDTRunner; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @RunWith(EDTRunner.class) public class BoundActionTest { private BoundAction action; @Before public void setUp() { action = new BoundAction(); } @Test public void testSerialization() { BoundAction serialized = serialize(action); assertThat(serialized, is(equivalentTo(action))); } @Test public void testSerializationWithCallback() { action.registerCallback(new JLabel(), "updateUI"); BoundAction serialized = serialize(action); assertThat(serialized, is(equivalentTo(action))); assertThat(serialized.getActionListeners().length, is(1)); } @Test public void testSerializationForToggleWithCallback() { action.setStateAction(true); action.registerCallback(new JLabel(), "updateUI"); BoundAction serialized = serialize(action); assertThat(serialized, is(equivalentTo(action))); assertThat(serialized.getItemListeners().length, is(1)); } @Test public void testSerializationWithListener() { action.addActionListener(new BoundAction()); BoundAction serialized = serialize(action); assertThat(serialized, is(equivalentTo(action))); } }