1 /*
   2   @test
   3   @bug 6738181
   4   @library ../../../regtesthelpers
   5   @build Sysout
   6   @summary Toolkit.getAWTEventListeners returns empty array
   7   @author andrei dmitriev: area=awt.headless
   8   @run main/othervm -Djava.awt.headless=true AWTListener
   9 */
  10 
  11 /**
  12  * In a headless mode add a listener for container events.
  13  * Check if a single listener is still assigned to the Toolkit class.
  14  */
  15 
  16 import java.awt.*;
  17 import java.awt.event.*;
  18 import test.java.awt.regtesthelpers.Sysout;
  19 
  20 public class AWTListener {
  21     public static void main(String []s) {
  22         Toolkit toolkit = Toolkit.getDefaultToolkit();
  23 
  24         AWTEventListener orig = new AWTEventListener() {
  25                 public void eventDispatched(AWTEvent event) { }
  26             };
  27 
  28         Sysout.println("Test: listener to add = " +orig);
  29         toolkit.addAWTEventListener(orig, AWTEvent.CONTAINER_EVENT_MASK);
  30 
  31         for (AWTEventListener l: toolkit.getAWTEventListeners()){
  32             Sysout.println("Test: listener = " +l+" ");
  33         }
  34 
  35         if ( toolkit.getAWTEventListeners().length == 0 ) {
  36             throw new RuntimeException("Case 1. An empty array returned unexpectedly");
  37         }
  38 
  39         for (AWTEventListener l: toolkit.getAWTEventListeners(AWTEvent.CONTAINER_EVENT_MASK)){
  40             Sysout.println("Test: listener = " +l);
  41          }
  42 
  43         if ( toolkit.getAWTEventListeners(AWTEvent.CONTAINER_EVENT_MASK).length == 0 ) {
  44             throw new RuntimeException("Case 2. An empty array returned unexpectedly");
  45         }
  46         Sysout.println("Test PASSED");
  47     }
  48 }