Package javax.swing

Source Code of javax.swing.ProgressMonitorTest

/*
*  Licensed to the Apache Software Foundation (ASF) under one or more
*  contributor license agreements.  See the NOTICE file distributed with
*  this work for additional information regarding copyright ownership.
*  The ASF licenses this file to You under the Apache License, Version 2.0
*  (the "License"); you may not use this file except in compliance with
*  the License.  You may obtain a copy of the License at
*
*     http://www.apache.org/licenses/LICENSE-2.0
*
*  Unless required by applicable law or agreed to in writing, software
*  distributed under the License is distributed on an "AS IS" BASIS,
*  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*  See the License for the specific language governing permissions and
*  limitations under the License.
*/
/**
* @author Dennis Ushakov
* @version $Revision$
*/
package javax.swing;

import java.awt.event.WindowEvent;

public class ProgressMonitorTest extends BasicSwingTestCase {
    private ProgressMonitor progressMonitor;

    private JFrame window;

    @Override
    public void setUp() throws Exception {
        super.setUp();
        window = new JFrame();
    }

    @Override
    public void tearDown() throws Exception {
        progressMonitor = null;
        window = null;
        super.tearDown();
    }

    public void testProgressMonitor() {
        progressMonitor = new ProgressMonitor(window, "message test", "note test", 0, 100);
        assertEquals(progressMonitor.getMillisToDecideToPopup(), 500);
        assertEquals(progressMonitor.getMillisToPopup(), 2000);
    }

    public void testSetProgress() throws Exception {
        progressMonitor = new ProgressMonitor(window, "message test", "note test", 0, 100);
        assertEquals(0, window.getOwnedWindows().length);
        progressMonitor.setProgress(1);
        Thread.sleep(500 + 100);
        progressMonitor.setProgress(2);
        assertEquals(1, window.getOwnedWindows().length);
        JProgressBar pb = getProgressBar();
        assertEquals(2, pb.getValue());
        progressMonitor.close();
        progressMonitor = new ProgressMonitor(window, "message test", "note test", -100, 100);
        assertEquals(1, window.getOwnedWindows().length);
        progressMonitor.setProgress(1);
        Thread.sleep(500 + 100);
        progressMonitor.setProgress(2);
        assertEquals(1, window.getOwnedWindows().length);
        progressMonitor = new ProgressMonitor(window, "message test", "note test", 0, 300);
        progressMonitor.setProgress(1);
        Thread.sleep(500 + 100);
        progressMonitor.setProgress(2);
        assertEquals(1, window.getOwnedWindows().length);
    }

    public void testGetSetMaximum() throws Exception {
        progressMonitor = new ProgressMonitor(window, "message test", "note test", 0, 300);
        progressMonitor.setProgress(1);
        Thread.sleep(500 + 100);
        progressMonitor.setProgress(20);
        assertEquals(300, getProgressBar().getMaximum());
        progressMonitor.setMaximum(500);
        if (isHarmony()) {
            assertEquals(500, getProgressBar().getMaximum());
        }
        assertEquals(500, progressMonitor.getMaximum());
    }

    public void testGetSetMinimum() throws Exception {
        progressMonitor = new ProgressMonitor(window, "message test", "note test", 0, 300);
        progressMonitor.setProgress(1);
        Thread.sleep(500 + 100);
        progressMonitor.setProgress(20);
        assertEquals(0, getProgressBar().getMinimum());
        progressMonitor.setMinimum(-100);
        if (isHarmony()) {
            assertEquals(-100, getProgressBar().getMinimum());
        }
        assertEquals(-100, progressMonitor.getMinimum());
    }

    public void testIsCancelled() throws Exception {
        progressMonitor = new ProgressMonitor(window, "message test", "note test", 0, 100);
        progressMonitor.setProgress(1);
        Thread.sleep(500 + 100);
        progressMonitor.setProgress(20);
        JDialog dialog = (JDialog) window.getOwnedWindows()[0];
        JOptionPane comp = (JOptionPane) dialog.getContentPane().getComponent(0);
        JPanel bottomPanel = (JPanel) comp.getComponent(1);
        JButton cancelButton = (JButton) bottomPanel.getComponent(0);
        cancelButton.doClick();
        assertTrue(progressMonitor.isCanceled());
        progressMonitor = new ProgressMonitor(window, "message test", "note test", 0, 100);
        progressMonitor.setProgress(1);
        Thread.sleep(500 + 100);
        progressMonitor.setProgress(20);
        dialog = (JDialog) window.getOwnedWindows()[1];
        dialog.dispatchEvent(new WindowEvent(window, WindowEvent.WINDOW_CLOSING));
        assertTrue(progressMonitor.isCanceled());
        progressMonitor.setProgress(98);
        assertEquals(2, window.getOwnedWindows().length);
    }

    public void testClose() throws Exception {
        progressMonitor = new ProgressMonitor(window, "message test", "note test", 0, 100);
        progressMonitor.setProgress(1);
        Thread.sleep(500 + 100);
        progressMonitor.setProgress(20);
        progressMonitor.close();
        assertEquals(1, window.getOwnedWindows().length);
        assertFalse(window.getOwnedWindows()[0].isVisible());
        assertFalse(window.getOwnedWindows()[0].isDisplayable());
        progressMonitor.setProgress(25);
        assertEquals(2, window.getOwnedWindows().length);
        assertTrue(window.getOwnedWindows()[1].isVisible());
    }

    private JProgressBar getProgressBar() {
        JDialog dialog = (JDialog) window.getOwnedWindows()[0];
        JOptionPane comp = (JOptionPane) dialog.getContentPane().getComponent(0);
        JPanel topPanel = (JPanel) comp.getComponent(0);
        JPanel panel = (JPanel) topPanel.getComponent(0);
        JPanel panel2 = (JPanel) panel.getComponent(1);
        JProgressBar pb = (JProgressBar) panel2.getComponent(2);
        return pb;
    }
}
TOP

Related Classes of javax.swing.ProgressMonitorTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.