001: /*
002: * $Id$
003: *
004: * ----------------------------------------------------------------------------
005: *
006: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
007: *
008: * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
009: *
010: * The contents of this file are subject to the terms of either the GNU
011: * General Public License Version 2 only ("GPL") or the Common
012: * Development and Distribution License("CDDL") (collectively, the
013: * "License"). You may not use this file except in compliance with the
014: * License. You can obtain a copy of the License at
015: * http://www.netbeans.org/cddl-gplv2.html
016: * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
017: * specific language governing permissions and limitations under the
018: * License. When distributing the software, include this License Header
019: * Notice in each file and include the License file at
020: * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
021: * particular file as subject to the "Classpath" exception as provided
022: * by Sun in the GPL Version 2 section of the License file that
023: * accompanied this code. If applicable, add the following below the
024: * License Header, with the fields enclosed by brackets [] replaced by
025: * your own identifying information:
026: * "Portions Copyrighted [year] [name of copyright owner]"
027: *
028: * Contributor(s): Manfred Riem (mriem@netbeans.org).
029: *
030: * The Original Software is the Jemmy library. The Initial Developer of the
031: * Original Software is Alexandre Iline. All Rights Reserved.
032: *
033: * If you wish your version of this file to be governed by only the CDDL
034: * or only the GPL Version 2, indicate your decision by adding
035: * "[Contributor] elects to include this software in this distribution
036: * under the [CDDL or GPL Version 2] license." If you do not indicate a
037: * single choice of license, a recipient has the option to distribute
038: * your version of this file under either the CDDL, the GPL Version 2 or
039: * to extend the choice of license to its licensees as provided above.
040: * However, if you add GPL Version 2 code and therefore, elected the GPL
041: * Version 2 license, then the option applies only if the new code is
042: * made subject to such option by the copyright holder.
043: *
044: * ----------------------------------------------------------------------------
045: *
046: */
047: package org.netbeans.jemmy.accessibility;
048:
049: import javax.swing.JButton;
050: import javax.swing.JDialog;
051: import javax.swing.JFrame;
052: import javax.swing.JWindow;
053: import junit.framework.Test;
054: import junit.framework.TestCase;
055: import junit.framework.TestSuite;
056: import org.netbeans.jemmy.operators.JButtonOperator;
057: import org.netbeans.jemmy.operators.JDialogOperator;
058: import org.netbeans.jemmy.operators.JFrameOperator;
059: import org.netbeans.jemmy.operators.WindowOperator;
060:
061: /**
062: * A JUnit test for AccessibleDescriptionChooser.
063: *
064: * @author Manfred Riem (mriem@netbeans.org)
065: * @version $Revision$
066: */
067: public class AccessibleDescriptionChooserTest extends TestCase {
068: /**
069: * Stores the frame.
070: */
071: private JFrame frame;
072:
073: /**
074: * Stores the button.
075: */
076: private JButton button;
077:
078: /**
079: * Stores the dialog.
080: */
081: private JDialog dialog;
082:
083: /**
084: * Stores the window.
085: */
086: private JWindow window;
087:
088: /**
089: * Constructor.
090: *
091: * @param testName the name of the test.
092: */
093: public AccessibleDescriptionChooserTest(String testName) {
094: super (testName);
095: }
096:
097: /**
098: * Setup before testing.
099: *
100: * @throws Exception when a major error occurs.
101: */
102: protected void setUp() throws Exception {
103: frame = new JFrame();
104: frame.getAccessibleContext().setAccessibleDescription("Frame");
105: button = new JButton("Button");
106: button.getAccessibleContext().setAccessibleDescription(
107: "Accessible");
108: frame.getContentPane().add(button);
109: frame.setLocationRelativeTo(null);
110: frame.setVisible(true);
111:
112: dialog = new JDialog();
113: dialog.getAccessibleContext()
114: .setAccessibleDescription("Dialog");
115: dialog.setLocationRelativeTo(null);
116: dialog.setVisible(true);
117:
118: window = new JWindow(frame);
119: window.getAccessibleContext()
120: .setAccessibleDescription("Window");
121: window.setLocationRelativeTo(null);
122: window.setVisible(true);
123: }
124:
125: /**
126: * Cleanup after testing.
127: *
128: * @throws Exception when a major error occurs.
129: */
130: protected void tearDown() throws Exception {
131: frame.setVisible(false);
132: frame.dispose();
133: frame = null;
134:
135: dialog.setVisible(false);
136: dialog.dispose();
137: dialog = null;
138:
139: window.setVisible(false);
140: window.dispose();
141: window = null;
142: }
143:
144: /**
145: * Suite method.
146: */
147: public static Test suite() {
148: TestSuite suite = new TestSuite(
149: AccessibleDescriptionChooserTest.class);
150:
151: return suite;
152: }
153:
154: /**
155: * Test checkContext method.
156: */
157: public void testCheckContext() {
158: JFrameOperator operator = new JFrameOperator();
159: assertNotNull(operator);
160:
161: JButtonOperator operator1 = new JButtonOperator(operator,
162: new AccessibleDescriptionChooser("Accessible"));
163: assertNotNull(operator1);
164:
165: JDialogOperator operator2 = new JDialogOperator(
166: new AccessibleDescriptionChooser("Dialog"));
167: assertNotNull(operator2);
168:
169: JFrameOperator operator3 = new JFrameOperator(
170: new AccessibleDescriptionChooser("Frame"));
171: assertNotNull(operator3);
172:
173: WindowOperator operator4 = new WindowOperator(operator,
174: new AccessibleDescriptionChooser("Window"));
175: assertNotNull(operator4);
176: }
177:
178: /**
179: * Test getDescription method.
180: */
181: public void testGetDescription() {
182: assertEquals(
183: "JComponent with \"Accessible\" accessible description",
184: new AccessibleDescriptionChooser("Accessible")
185: .getDescription());
186: }
187: }
|