OptionPaneDemoTest.java revision 14305:566a5f5a9a5a
1251881Speter/* 2251881Speter * Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved. 3251881Speter * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4251881Speter * 5251881Speter * This code is free software; you can redistribute it and/or modify it 6251881Speter * under the terms of the GNU General Public License version 2 only, as 7251881Speter * published by the Free Software Foundation. 8251881Speter * 9251881Speter * This code is distributed in the hope that it will be useful, but WITHOUT 10251881Speter * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11251881Speter * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12251881Speter * version 2 for more details (a copy is included in the LICENSE file that 13251881Speter * accompanied this code). 14251881Speter * 15251881Speter * You should have received a copy of the GNU General Public License version 16251881Speter * 2 along with this work; if not, write to the Free Software Foundation, 17251881Speter * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18251881Speter * 19251881Speter * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20251881Speter * or visit www.oracle.com if you need additional information or have any 21251881Speter * questions. 22251881Speter */ 23251881Speter 24251881Speterimport org.jtregext.GuiTestListener; 25251881Speterimport com.sun.swingset3.demos.optionpane.OptionPaneDemo; 26251881Speterimport static com.sun.swingset3.demos.optionpane.OptionPaneDemo.*; 27251881Speterimport javax.swing.UIManager; 28251881Speterimport static org.testng.AssertJUnit.*; 29251881Speterimport org.testng.annotations.Test; 30251881Speterimport org.netbeans.jemmy.ClassReference; 31251881Speterimport org.netbeans.jemmy.operators.JButtonOperator; 32251881Speterimport org.netbeans.jemmy.operators.JComboBoxOperator; 33251881Speterimport org.netbeans.jemmy.operators.JDialogOperator; 34251881Speterimport org.netbeans.jemmy.operators.JFrameOperator; 35251881Speterimport org.netbeans.jemmy.operators.JLabelOperator; 36251881Speterimport org.netbeans.jemmy.operators.JTextFieldOperator; 37251881Speterimport org.testng.annotations.Listeners; 38251881Speter 39251881Speter 40251881Speter/* 41251881Speter * @test 42251881Speter * @key headful 43251881Speter * @summary Verifies SwingSet3 OptionPaneDemo page by opening all the dialogs 44251881Speter * and choosing different options in them. 45251881Speter * 46251881Speter * @library /sanity/client/lib/jemmy/src 47251881Speter * @library /sanity/client/lib/Extensions/src 48251881Speter * @library /sanity/client/lib/SwingSet3/src 49251881Speter * @build org.jemmy2ext.JemmyExt 50251881Speter * @build com.sun.swingset3.demos.optionpane.OptionPaneDemo 51251881Speter * @run testng OptionPaneDemoTest 52251881Speter */ 53251881Speter@Listeners(GuiTestListener.class) 54251881Speterpublic class OptionPaneDemoTest { 55251881Speter 56251881Speter public static final String SOME_TEXT_TO_TYPE = "I am some text"; 57251881Speter public static final String MESSAGE = UIManager.getString("OptionPane.messageDialogTitle"); 58251881Speter public static final String OK = "OK"; 59251881Speter public static final String CANCEL = "Cancel"; 60251881Speter public static final String INPUT = UIManager.getString("OptionPane.inputDialogTitle"); 61251881Speter public static final String TEXT_TO_TYPE = "Hooray! I'm a textField"; 62251881Speter public static final String NO = "No"; 63251881Speter public static final String YES = "Yes"; 64251881Speter public static final String SELECT_AN_OPTION = UIManager.getString("OptionPane.titleText"); 65251881Speter 66251881Speter @Test 67251881Speter public void test() throws Exception { 68286506Speter 69286506Speter new ClassReference(OptionPaneDemo.class.getCanonicalName()).startApplication(); 70286506Speter 71286506Speter JFrameOperator frame = new JFrameOperator(DEMO_TITLE); 72286506Speter 73286506Speter showInputDialog(frame); 74286506Speter showWarningDialog(frame); 75286506Speter showMessageDialog(frame); 76286506Speter showComponentDialog(frame); 77286506Speter showConfirmationDialog(frame); 78286506Speter } 79286506Speter 80286506Speter public void showInputDialog(JFrameOperator jfo) throws Exception { 81286506Speter // Cancel with text case 82286506Speter { 83286506Speter new JButtonOperator(jfo, INPUT_BUTTON).pushNoBlock(); 84286506Speter 85286506Speter JDialogOperator jdo = new JDialogOperator(INPUT); 86286506Speter JTextFieldOperator jto = new JTextFieldOperator(jdo); 87286506Speter jto.setText(SOME_TEXT_TO_TYPE); 88286506Speter 89251881Speter assertTrue("Show Input Dialog cancel w/ Text", jdo.isShowing()); 90251881Speter 91251881Speter new JButtonOperator(jdo, CANCEL).push(); 92251881Speter 93251881Speter assertFalse("Show Input Dialog cancel w/ Text", jdo.isShowing()); 94251881Speter } 95251881Speter 96251881Speter // Cancel with *NO* text case 97251881Speter { 98251881Speter new JButtonOperator(jfo, INPUT_BUTTON).pushNoBlock(); 99251881Speter 100251881Speter JDialogOperator jdo = new JDialogOperator(INPUT); 101251881Speter 102251881Speter assertTrue("Show Input Dialog cancel w/o Text", jdo.isShowing()); 103251881Speter 104251881Speter new JButtonOperator(jdo, CANCEL).push(); 105251881Speter 106251881Speter assertFalse("Show Input Dialog cancel w/o Text", jdo.isShowing()); 107251881Speter } 108251881Speter 109251881Speter // Text field has *NO* input 110251881Speter { 111251881Speter new JButtonOperator(jfo, INPUT_BUTTON).pushNoBlock(); 112251881Speter 113251881Speter JDialogOperator jdo = new JDialogOperator(INPUT); 114251881Speter 115251881Speter assertTrue("Show Input Dialog w/o Input", jdo.isShowing()); 116251881Speter 117251881Speter new JButtonOperator(jdo, OK).push(); 118251881Speter 119251881Speter assertFalse("Show Input Dialog w/o Input", jdo.isShowing()); 120251881Speter } 121251881Speter 122251881Speter // Text field has input 123251881Speter { 124251881Speter final String enteredText = "Rambo"; 125251881Speter 126251881Speter new JButtonOperator(jfo, INPUT_BUTTON).pushNoBlock(); 127251881Speter 128251881Speter JDialogOperator jdo = new JDialogOperator(INPUT); 129251881Speter JTextFieldOperator jto = new JTextFieldOperator(jdo); 130251881Speter jto.setText(enteredText); 131251881Speter new JButtonOperator(jdo, OK).pushNoBlock(); 132251881Speter 133251881Speter JDialogOperator jdo1 = new JDialogOperator(MESSAGE); 134251881Speter 135251881Speter assertTrue("Show Input Dialog w/ Input", jdo1.isShowing()); 136251881Speter 137251881Speter final String labelText = enteredText + INPUT_RESPONSE; 138251881Speter JLabelOperator jLabelOperator = new JLabelOperator(jdo1, labelText); 139251881Speter assertEquals("Text from the field made it into the dialog", labelText, jLabelOperator.getText()); 140251881Speter 141251881Speter new JButtonOperator(jdo1, OK).push(); 142251881Speter 143251881Speter assertFalse("Show Input Dialog w/ Input", jdo1.isShowing()); 144251881Speter } 145251881Speter } 146251881Speter 147251881Speter public void showWarningDialog(JFrameOperator jfo) throws Exception { 148251881Speter new JButtonOperator(jfo, WARNING_BUTTON).pushNoBlock(); 149251881Speter 150251881Speter JDialogOperator jdo = new JDialogOperator(WARNING_TITLE); 151251881Speter 152251881Speter assertTrue("Show Warning Dialog", jdo.isShowing()); 153251881Speter 154251881Speter new JButtonOperator(jdo, OK).push(); 155251881Speter 156251881Speter assertFalse("Show Warning Dialog", jdo.isShowing()); 157251881Speter } 158251881Speter 159251881Speter public void showMessageDialog(JFrameOperator jfo) throws Exception { 160251881Speter new JButtonOperator(jfo, MESSAGE_BUTTON).pushNoBlock(); 161251881Speter 162251881Speter JDialogOperator jdo = new JDialogOperator(MESSAGE); 163251881Speter 164251881Speter assertTrue("Show Message Dialog", jdo.isShowing()); 165251881Speter 166251881Speter new JButtonOperator(jdo, OK).push(); 167251881Speter 168251881Speter assertFalse("Show Message Dialog", jdo.isShowing()); 169251881Speter } 170251881Speter 171251881Speter public void showComponentDialog(JFrameOperator jfo) throws Exception { 172251881Speter // Case: Cancel 173251881Speter { 174251881Speter new JButtonOperator(jfo, COMPONENT_BUTTON).pushNoBlock(); 175251881Speter 176251881Speter JDialogOperator jdo = new JDialogOperator(COMPONENT_TITLE); 177251881Speter 178251881Speter assertTrue("Show Component Dialog Cancel Option", jdo.isShowing()); 179251881Speter 180251881Speter new JButtonOperator(jdo, COMPONENT_OP5).push(); 181251881Speter 182251881Speter assertFalse("Show Component Dialog Cancel Option", jdo.isShowing()); 183251881Speter } 184251881Speter 185251881Speter // Case: Yes option selected 186251881Speter { 187251881Speter new JButtonOperator(jfo, COMPONENT_BUTTON).pushNoBlock(); 188251881Speter 189251881Speter JDialogOperator jdo = new JDialogOperator(COMPONENT_TITLE); 190251881Speter new JButtonOperator(jdo, COMPONENT_OP1).pushNoBlock(); 191251881Speter 192251881Speter JDialogOperator jdo1 = new JDialogOperator(MESSAGE); 193251881Speter 194251881Speter assertTrue("Component Dialog Example Yes Option", jdo1.isShowing()); 195251881Speter 196251881Speter final String labelText = COMPONENT_R1; 197251881Speter JLabelOperator jLabelOperator = new JLabelOperator(jdo1, labelText); 198251881Speter assertEquals("Dialog contains appropriate text", labelText, jLabelOperator.getText()); 199251881Speter 200251881Speter new JButtonOperator(jdo1, OK).push(); 201251881Speter 202251881Speter assertFalse("Component Dialog Example Yes Option", jdo1.isShowing()); 203251881Speter } 204251881Speter 205251881Speter // Case: No option selected 206251881Speter { 207251881Speter new JButtonOperator(jfo, COMPONENT_BUTTON).pushNoBlock(); 208251881Speter 209251881Speter JDialogOperator jdo = new JDialogOperator(COMPONENT_TITLE); 210251881Speter new JButtonOperator(jdo, COMPONENT_OP2).pushNoBlock(); 211251881Speter 212251881Speter JDialogOperator jdo1 = new JDialogOperator(MESSAGE); 213251881Speter 214251881Speter assertTrue("Component Dialog Example No Option", jdo1.isShowing()); 215251881Speter 216251881Speter final String labelText = COMPONENT_R2; 217251881Speter JLabelOperator jLabelOperator = new JLabelOperator(jdo1, labelText); 218251881Speter assertEquals("Dialog contains appropriate text", labelText, jLabelOperator.getText()); 219251881Speter 220251881Speter new JButtonOperator(jdo1, OK).push(); 221251881Speter 222251881Speter assertFalse("Component Dialog Example No Option", jdo1.isShowing()); 223251881Speter } 224251881Speter 225251881Speter // Case: Maybe option selected 226251881Speter { 227251881Speter new JButtonOperator(jfo, COMPONENT_BUTTON).pushNoBlock(); 228251881Speter 229251881Speter JDialogOperator jdo = new JDialogOperator(COMPONENT_TITLE); 230251881Speter new JButtonOperator(jdo, COMPONENT_OP3).pushNoBlock(); 231251881Speter 232251881Speter JDialogOperator jdo1 = new JDialogOperator(MESSAGE); 233251881Speter 234251881Speter assertTrue("Component Dialog Maybe Yes Option", jdo1.isShowing()); 235251881Speter 236251881Speter final String labelText = COMPONENT_R3; 237251881Speter JLabelOperator jLabelOperator = new JLabelOperator(jdo1, labelText); 238251881Speter assertEquals("Dialog contains appropriate text", labelText, jLabelOperator.getText()); 239251881Speter 240251881Speter new JButtonOperator(jdo1, OK).push(); 241251881Speter 242251881Speter assertFalse("Component Dialog Maybe Yes Option", jdo1.isShowing()); 243251881Speter } 244251881Speter 245251881Speter // Case: Probably option selected 246251881Speter { 247251881Speter new JButtonOperator(jfo, COMPONENT_BUTTON).pushNoBlock(); 248251881Speter 249251881Speter JDialogOperator jdo = new JDialogOperator(COMPONENT_TITLE); 250251881Speter new JButtonOperator(jdo, COMPONENT_OP4).pushNoBlock(); 251251881Speter 252251881Speter JDialogOperator jdo1 = new JDialogOperator(MESSAGE); 253251881Speter 254251881Speter assertTrue("Component Dialog Example Probably Option", jdo1.isShowing()); 255251881Speter 256251881Speter final String labelText = COMPONENT_R4; 257251881Speter JLabelOperator jLabelOperator = new JLabelOperator(jdo1, labelText); 258251881Speter assertEquals("Dialog contains appropriate text", labelText, jLabelOperator.getText()); 259251881Speter 260251881Speter new JButtonOperator(jdo1, OK).push(); 261251881Speter 262251881Speter assertFalse("Component Dialog Example Probably Option", jdo1.isShowing()); 263251881Speter } 264251881Speter 265251881Speter // Case TextField and ComboBox functional 266251881Speter { 267251881Speter new JButtonOperator(jfo, COMPONENT_BUTTON).push(); 268251881Speter 269251881Speter JDialogOperator jdo = new JDialogOperator(COMPONENT_TITLE); 270251881Speter 271251881Speter JTextFieldOperator jto = new JTextFieldOperator(jdo); 272251881Speter jto.clearText(); 273251881Speter jto.typeText(TEXT_TO_TYPE); 274251881Speter 275251881Speter JComboBoxOperator jcbo = new JComboBoxOperator(jdo); 276251881Speter jcbo.selectItem(2); 277251881Speter 278251881Speter assertEquals("Show Component Dialog TextField", TEXT_TO_TYPE, jto.getText()); 279251881Speter assertEquals("Show Component Dialog ComboBox", 2, jcbo.getSelectedIndex()); 280251881Speter 281251881Speter new JButtonOperator(jdo, "cancel").push(); 282251881Speter } 283251881Speter } 284251881Speter 285251881Speter public void showConfirmationDialog(JFrameOperator jfo) throws Exception { 286251881Speter // Case: Yes option selected 287251881Speter { 288251881Speter new JButtonOperator(jfo, CONFIRM_BUTTON).pushNoBlock(); 289251881Speter 290251881Speter JDialogOperator jdo = new JDialogOperator(SELECT_AN_OPTION); 291251881Speter new JButtonOperator(jdo, YES).pushNoBlock(); 292 293 JDialogOperator jdo1 = new JDialogOperator(MESSAGE); 294 295 assertTrue("Show Confirmation Dialog Yes Option", jdo1.isShowing()); 296 297 final String labelText = CONFIRM_YES; 298 JLabelOperator jLabelOperator = new JLabelOperator(jdo1, labelText); 299 assertEquals("Dialog contains appropriate text", labelText, jLabelOperator.getText()); 300 301 new JButtonOperator(jdo1, OK).push(); 302 303 assertFalse("Show Confirmation Dialog Yes Option", jdo1.isShowing()); 304 } 305 306 // Case: No option selected 307 { 308 new JButtonOperator(jfo, CONFIRM_BUTTON).pushNoBlock(); 309 310 JDialogOperator jdo = new JDialogOperator(SELECT_AN_OPTION); 311 new JButtonOperator(jdo, NO).pushNoBlock(); 312 313 JDialogOperator jdo1 = new JDialogOperator(MESSAGE); 314 315 assertTrue("Show Confirmation Dialog No Option", jdo1.isShowing()); 316 317 final String labelText = CONFIRM_NO; 318 JLabelOperator jLabelOperator = new JLabelOperator(jdo1, labelText); 319 assertEquals("Dialog contains appropriate text", labelText, jLabelOperator.getText()); 320 321 new JButtonOperator(jdo1, OK).push(); 322 323 assertFalse("Show Confirmation Dialog No Option", jdo1.isShowing()); 324 } 325 326 // Case: Cancel option selected 327 { 328 new JButtonOperator(jfo, CONFIRM_BUTTON).pushNoBlock(); 329 330 JDialogOperator jdo = new JDialogOperator(SELECT_AN_OPTION); 331 332 assertTrue("Show Confirmation Dialog Cancel Option", jdo.isShowing()); 333 334 new JButtonOperator(jdo, CANCEL).push(); 335 336 assertFalse("Show Confirmation Dialog Cancel Option", jdo.isShowing()); 337 } 338 } 339 340} 341