29package com.jogamp.opengl.test.junit.jogl.awt;
31import com.jogamp.opengl.test.junit.util.UITestCase;
34import java.awt.event.*;
36import org.junit.Assert;
37import org.junit.Assume;
39import org.junit.FixMethodOrder;
40import org.junit.runners.MethodSorters;
42@FixMethodOrder(MethodSorters.NAME_ASCENDING)
45 static long durationPerTest = 200;
49 final Frame frame =
new Frame();
50 final ClosingWindowAdapter closingWindowAdapter =
new ClosingWindowAdapter(frame);
51 frame.addWindowListener(closingWindowAdapter);
53 javax.swing.SwingUtilities.invokeAndWait(
new Runnable() {
55 frame.setSize(500, 500);
56 frame.setVisible(
true);
58 }
catch (
final Throwable t) {
60 Assume.assumeNoException(t);
63 Thread.sleep(durationPerTest);
64 if(!closingWindowAdapter.closingCalled) {
66 final Toolkit tk = Toolkit.getDefaultToolkit();
67 final EventQueue evtQ = tk.getSystemEventQueue();
68 evtQ.postEvent(
new WindowEvent(frame, WindowEvent.WINDOW_CLOSING));
71 Assert.assertEquals(
true, closingWindowAdapter.closingCalled);
74 static class ClosingWindowAdapter
extends WindowAdapter {
75 boolean closingCalled =
false;
77 public ClosingWindowAdapter(
final Frame frame) {
80 public void windowClosing(
final WindowEvent ev) {
81 System.out.println(
"windowClosing() called ..");
87 static int atoi(
final String a) {
90 i = Integer.parseInt(a);
91 }
catch (
final Exception ex) { ex.printStackTrace(); }
95 public static void main(
final String args[]) {
96 for(
int i=0; i<args.length; i++) {
97 if(args[i].equals(
"-time")) {
98 durationPerTest = atoi(args[++i]);
101 System.out.println(
"durationPerTest: "+durationPerTest);
static void main(final String args[])
void test01WindowClosing()