KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > nextapp > echo2 > app > test > SelectFieldTest


1 /*
2  * This file is part of the Echo Web Application Framework (hereinafter "Echo").
3  * Copyright (C) 2002-2005 NextApp, Inc.
4  *
5  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
6  *
7  * The contents of this file are subject to the Mozilla Public License Version
8  * 1.1 (the "License"); you may not use this file except in compliance with
9  * the License. You may obtain a copy of the License at
10  * http://www.mozilla.org/MPL/
11  *
12  * Software distributed under the License is distributed on an "AS IS" basis,
13  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
14  * for the specific language governing rights and limitations under the
15  * License.
16  *
17  * Alternatively, the contents of this file may be used under the terms of
18  * either the GNU General Public License Version 2 or later (the "GPL"), or
19  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
20  * in which case the provisions of the GPL or the LGPL are applicable instead
21  * of those above. If you wish to allow use of your version of this file only
22  * under the terms of either the GPL or the LGPL, and not to allow others to
23  * use your version of this file under the terms of the MPL, indicate your
24  * decision by deleting the provisions above and replace them with the notice
25  * and other provisions required by the GPL or the LGPL. If you do not delete
26  * the provisions above, a recipient may use your version of this file under
27  * the terms of any one of the MPL, the GPL or the LGPL.
28  */

29
30 package nextapp.echo2.app.test;
31
32 import nextapp.echo2.app.Color;
33 import nextapp.echo2.app.SelectField;
34 import nextapp.echo2.app.event.ActionEvent;
35 import nextapp.echo2.app.event.ActionListener;
36 import junit.framework.TestCase;
37
38 /**
39  * Unit tests for the <code>nextapp.echo2.app.SelectField</code> component.
40  */

41 public class SelectFieldTest extends TestCase {
42
43     private class ActionHandler implements ActionListener {
44         
45         private ActionEvent lastEvent;
46         
47         public void actionPerformed(ActionEvent e) {
48             lastEvent = e;
49         }
50     }
51     
52     /**
53      * Ensures that invoking <code>getSelectedItem</code> on a
54      * <code>SelectField</code> with no selected items returns null.
55      */

56     public void testGetSelectedItemNull() {
57         SelectField selectField = new SelectField();
58         assertNull(selectField.getSelectedItem());
59     }
60     
61     /**
62      * Test Adding/Removing <code>ActionListener</code>s and
63      * receiving events.
64      */

65     public void testActionListeners() {
66         SelectField selectField = new SelectField();
67         selectField.setActionCommand("action!");
68         
69         assertFalse(selectField.hasActionListeners());
70         
71         ActionHandler actionHandler = new ActionHandler();
72         selectField.addActionListener(actionHandler);
73
74         assertTrue(selectField.hasActionListeners());
75         
76         selectField.processInput(SelectField.INPUT_ACTION, null);
77         assertNotNull(actionHandler.lastEvent);
78         assertEquals(selectField, actionHandler.lastEvent.getSource());
79         assertEquals("action!", actionHandler.lastEvent.getActionCommand());
80
81         selectField.removeActionListener(actionHandler);
82
83         assertFalse(selectField.hasActionListeners());
84     }
85     
86     /**
87      * Test property accessors and mutators.
88      */

89     public void testProperties() {
90         SelectField selectField = new SelectField();
91         selectField.setActionCommand("action!");
92         selectField.setBorder(TestConstants.BORDER_THICK_ORANGE);
93         selectField.setHeight(TestConstants.EXTENT_30_PX);
94         selectField.setInsets(TestConstants.INSETS_1234);
95         selectField.setRolloverEnabled(true);
96         selectField.setRolloverBackground(Color.GREEN);
97         selectField.setRolloverFont(TestConstants.MONOSPACE_12);
98         selectField.setRolloverForeground(Color.YELLOW);
99         selectField.setWidth(TestConstants.EXTENT_100_PX);
100         assertEquals("action!", selectField.getActionCommand());
101         assertEquals(TestConstants.BORDER_THICK_ORANGE, selectField.getBorder());
102         assertEquals(Color.GREEN, selectField.getRolloverBackground());
103         assertEquals(true, selectField.isRolloverEnabled());
104         assertEquals(TestConstants.MONOSPACE_12, selectField.getRolloverFont());
105         assertEquals(Color.YELLOW, selectField.getRolloverForeground());
106         assertEquals(TestConstants.EXTENT_30_PX, selectField.getHeight());
107         assertEquals(TestConstants.INSETS_1234, selectField.getInsets());
108         assertEquals(TestConstants.EXTENT_100_PX, selectField.getWidth());
109     }
110 }
111
Popular Tags