test/jdk/sanity/client/SwingSet/src/DialogDemoTest.java
author akolarkunnu
Fri, 05 Oct 2018 05:03:15 -0700
changeset 52085 26c3104c936d
parent 47216 71c04702a3d5
child 52128 1e0cdaf980f3
permissions -rw-r--r--
8210055: Enable different look and feel tests in SwingSet3 demo tests Reviewed-by: serb Contributed-by: abdul.kolarkunnu@oracle.com
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
44131
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
     1
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
     2
/*
52085
26c3104c936d 8210055: Enable different look and feel tests in SwingSet3 demo tests
akolarkunnu
parents: 47216
diff changeset
     3
 * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
44131
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
     4
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
     5
 *
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
     6
 * This code is free software; you can redistribute it and/or modify it
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
     7
 * under the terms of the GNU General Public License version 2 only, as
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
     8
 * published by the Free Software Foundation.
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
     9
 *
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    10
 * This code is distributed in the hope that it will be useful, but WITHOUT
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    11
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    12
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    13
 * version 2 for more details (a copy is included in the LICENSE file that
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    14
 * accompanied this code).
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    15
 *
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    16
 * You should have received a copy of the GNU General Public License version
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    17
 * 2 along with this work; if not, write to the Free Software Foundation,
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    18
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    19
 *
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    20
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    21
 * or visit www.oracle.com if you need additional information or have any
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    22
 * questions.
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    23
 */
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    24
import org.jtregext.GuiTestListener;
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    25
import com.sun.swingset3.demos.dialog.DialogDemo;
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    26
import static com.sun.swingset3.demos.dialog.DialogDemo.*;
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    27
import java.awt.Dimension;
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    28
import java.awt.Point;
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    29
import javax.swing.JDialog;
52085
26c3104c936d 8210055: Enable different look and feel tests in SwingSet3 demo tests
akolarkunnu
parents: 47216
diff changeset
    30
import javax.swing.UIManager;
44131
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    31
import static org.testng.AssertJUnit.*;
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    32
import org.testng.annotations.Test;
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    33
import static org.jemmy2ext.JemmyExt.isIconified;
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    34
import static org.jemmy2ext.JemmyExt.ByClassChooser;
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    35
import org.netbeans.jemmy.ClassReference;
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    36
import org.netbeans.jemmy.ComponentChooser;
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    37
import static org.netbeans.jemmy.WindowWaiter.countWindows;
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    38
import org.netbeans.jemmy.operators.JFrameOperator;
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    39
import org.netbeans.jemmy.operators.JDialogOperator;
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    40
import org.netbeans.jemmy.operators.JLabelOperator;
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    41
import org.netbeans.jemmy.operators.JButtonOperator;
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    42
import org.testng.annotations.Listeners;
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    43
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    44
/*
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    45
 * @test
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    46
 * @key headful
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    47
 * @summary Verifies SwingSet3 DialogDemo by checking that separate JDialog is
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    48
 *          shown, it contains predefined label and no new dialogs are opened
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    49
 *          when the "Show JDialog..." button is clicked.
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    50
 *
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    51
 * @library /sanity/client/lib/jemmy/src
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    52
 * @library /sanity/client/lib/Extensions/src
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    53
 * @library /sanity/client/lib/SwingSet3/src
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    54
 * @modules java.desktop
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    55
 *          java.logging
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    56
 * @build org.jemmy2ext.JemmyExt
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    57
 * @build com.sun.swingset3.demos.dialog.DialogDemo
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    58
 * @run testng DialogDemoTest
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    59
 */
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    60
@Listeners(GuiTestListener.class)
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    61
public class DialogDemoTest {
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    62
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    63
    private final ComponentChooser jDialogClassChooser = new ByClassChooser(JDialog.class);
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    64
52085
26c3104c936d 8210055: Enable different look and feel tests in SwingSet3 demo tests
akolarkunnu
parents: 47216
diff changeset
    65
    @Test(dataProvider = "availableLookAndFeels", dataProviderClass = TestHelpers.class)
26c3104c936d 8210055: Enable different look and feel tests in SwingSet3 demo tests
akolarkunnu
parents: 47216
diff changeset
    66
    public void test(String lookAndFeel) throws Exception {
26c3104c936d 8210055: Enable different look and feel tests in SwingSet3 demo tests
akolarkunnu
parents: 47216
diff changeset
    67
        UIManager.setLookAndFeel(lookAndFeel);
44131
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    68
        new ClassReference(DialogDemo.class.getCanonicalName()).startApplication();
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    69
        JFrameOperator mainFrame = new JFrameOperator(DIALOG_DEMO_TITLE);
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    70
        JDialogOperator dialog = new JDialogOperator(DIALOG_TITLE);
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    71
        JButtonOperator showJDialogButton = new JButtonOperator(mainFrame, SHOW_BUTTON_TITLE);
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    72
        initialCheckWithLabel(mainFrame, dialog);
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    73
        checkShowDialogButton(dialog, showJDialogButton);
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    74
        TestHelpers.checkChangeSize(dialog, new Dimension(dialog.getSize().width * 2,
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    75
                dialog.getSize().height * 2));
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    76
        TestHelpers.checkChangeLocation(dialog, new Point(dialog.getLocation().x + 100,
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    77
                dialog.getLocation().y + 100));
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    78
    }
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    79
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    80
    private void initialCheckWithLabel(JFrameOperator frame, JDialogOperator jdo) {
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    81
        JLabelOperator label = new JLabelOperator(jdo);
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    82
        assertFalse("JFrame is not iconified", isIconified(frame));
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    83
        assertEquals("Only one JDialog is present", 1,
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    84
                countWindows(jDialogClassChooser));
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    85
        assertEquals(LABEL_CONTENT, label.getText());
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    86
    }
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    87
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    88
    private void checkShowDialogButton(JDialogOperator jdo, JButtonOperator jbo)
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    89
            throws InterruptedException {
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    90
        //Check that the button does not change the number of JDialog
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    91
        jbo.push();
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    92
        Thread.sleep(500);
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    93
        assertEquals("Only one JDialog is present", 1,
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    94
                countWindows(jDialogClassChooser));
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    95
        assertTrue("Check JDialog is visible", jdo.isVisible());
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    96
        jdo.requestClose();
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    97
        jdo.waitClosed();
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    98
        //Check that the button makes the JDialog visible
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
    99
        //and that 1 jDialog is present.
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
   100
        jbo.push();
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
   101
        jdo.waitComponentVisible(true);
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
   102
        Thread.sleep(500);
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
   103
        assertEquals("Only one JDialog is present", 1,
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
   104
                countWindows(jDialogClassChooser));
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
   105
    }
ed3779720f11 8174161: [TESTBUG] Create test for SwingSet DialogDemo
mrkam
parents:
diff changeset
   106
}