001    /*
002     * Copyright 2002-2007 the original author or authors.
003     *
004     * Licensed under the Apache License, Version 2.0 (the "License"); you may not
005     * use this file except in compliance with the License. You may obtain a copy of
006     * the License at
007     *
008     * http://www.apache.org/licenses/LICENSE-2.0
009     *
010     * Unless required by applicable law or agreed to in writing, software
011     * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
012     * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
013     * License for the specific language governing permissions and limitations under
014     * the License.
015     */
016    package org.springframework.richclient.command;
017    
018    import javax.swing.JButton;
019    
020    import junit.framework.TestCase;
021    
022    /**
023     * Testcase for ActionCommand
024     * 
025     * @author Peter De Bruycker
026     */
027    public class ActionCommandTests extends TestCase {
028    
029            public void testOnButtonAttached() {
030                    final boolean[] executed = { false };
031    
032                    ActionCommand command = new ActionCommand() {
033                            protected void doExecuteCommand() {
034                                    executed[0] = true;
035                            }
036                    };
037                    command.setActionCommand("theActionCommand");
038    
039                    JButton button = new JButton("test");
040    
041                    command.onButtonAttached(button);
042    
043                    assertEquals("theActionCommand", button.getActionCommand());
044    
045                    button.doClick();
046                    assertTrue(executed[0]);
047            }
048    
049            public void testOnButtonAttachedWithDisplayDialog() {
050                    ActionCommand command = new ActionCommand() {
051                            protected void doExecuteCommand() {
052                                    // do nothing
053                            }
054                    };
055                    command.setDisplaysInputDialog(true);
056    
057                    JButton button = new JButton();
058                    button.setText(null);
059    
060                    command.onButtonAttached(button);
061    
062                    assertEquals(null, button.getText());
063            }
064    
065    }