Clover coverage report - JFCUnit Test Coverage
Coverage timestamp: Mon Dec 20 2004 23:38:10 MST
file stats: LOC: 115   Methods: 4
NCLOC: 60   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
JInternalFrameFinder.java 0% 0% 0% 0%
coverage
 1   
 package junit.extensions.jfcunit.finder;
 2   
 
 3   
 import junit.extensions.jfcunit.WindowMonitor;
 4   
 
 5   
 import java.awt.Component;
 6   
 import java.awt.Container;
 7   
 
 8   
 import java.util.Iterator;
 9   
 
 10   
 import javax.swing.JDesktopPane;
 11   
 import javax.swing.JInternalFrame;
 12   
 
 13   
 
 14   
 /**
 15   
  * <p>Title: class JInternalFrameFinder.</p>
 16   
  * <p>Description: </p>
 17   
  * <p>Copyright: Copyright (c) 2003</p>
 18   
  * <p>Company: </p>
 19   
  * @author not attributable
 20   
  * @version 1.0
 21   
  */
 22   
 public class JInternalFrameFinder extends ComponentFinder {
 23   
     /**
 24   
      * Title of the frame.
 25   
      */
 26   
     private String m_title = null;
 27   
 
 28   
     /**
 29   
      * Constructor for the internal frame finder.
 30   
      * @param title Title of the frame.
 31   
      * @param ignoreCase Ignore the case if true.
 32   
      */
 33  0
     public JInternalFrameFinder(final String title, final boolean ignoreCase) {
 34  0
         super(javax.swing.JDesktopPane.class);
 35  0
         setTitle(title);
 36   
     }
 37   
 
 38   
     /**
 39   
      * Set the title to be matched.
 40   
      * @param title to be matched.
 41   
      */
 42  0
     public final void setTitle(final String title) {
 43  0
         m_title = title;
 44   
     }
 45   
 
 46   
     /**
 47   
      * Get the title to be matched.
 48   
      * @return title to be matched.
 49   
      */
 50  0
     public final String getTitle() {
 51  0
         return m_title;
 52   
     }
 53   
 
 54   
     /**
 55   
      * Find the DeskTop then search the desktops for the internal
 56   
      * frame with the given name.
 57   
      * @param cont Container to be searched.
 58   
      * @param index Index of the matching internal frames to return.
 59   
      * @return The Internal Frame which matches at the given index.
 60   
      */
 61  0
     public Component find(final Container cont, final int index) {
 62  0
         long date = System.currentTimeMillis() + (getWait() * 1000);
 63   
 
 64  0
         do {
 65  0
             Container[] conts;
 66   
 
 67  0
             if (cont == null) {
 68  0
                 conts = WindowMonitor.getWindows();
 69   
             } else {
 70  0
                 conts = new Container[] {cont};
 71   
             }
 72   
 
 73  0
             int idx = -1;
 74   
 
 75  0
             for (int w = 0; w < conts.length; w++) {
 76  0
                 int      dsk  = 0;
 77  0
                 Iterator iter = findComponentList(this, conts[w], null, index)
 78   
                                     .iterator();
 79   
 
 80  0
                 while (iter.hasNext()) {
 81  0
                     JDesktopPane     desktop = (JDesktopPane) iter.next();
 82  0
                     JInternalFrame[] frames = desktop.getAllFrames();
 83   
 
 84  0
                     for (int i = 0; i < frames.length; i++) {
 85  0
                         String ftitle = frames[i].getTitle();
 86   
 
 87  0
                         if (evaluate(ftitle, m_title)) {
 88  0
                             if (getDebug()) {
 89  0
                                 System.err.println("JInternalFrame(" + dsk
 90   
                                     + "," + idx + ")" + frames[i].getTitle());
 91   
                             }
 92   
 
 93  0
                             if (idx == index) {
 94  0
                                 return frames[i];
 95   
                             }
 96   
 
 97  0
                             idx++;
 98   
                         }
 99   
                     }
 100   
 
 101  0
                     dsk++;
 102   
                 }
 103   
             }
 104   
 
 105  0
             pause(date);
 106  0
         } while (System.currentTimeMillis() < date);
 107   
 
 108  0
         if (getDebug()) {
 109  0
             System.err.print("Frame not found");
 110   
         }
 111   
 
 112  0
         return null;
 113   
     }
 114   
 }
 115