< prev index next >

test/sanity/client/SwingSet/src/TreeDemoTest.java

Print this page

        

@@ -19,20 +19,26 @@
  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  * or visit www.oracle.com if you need additional information or have any
  * questions.
  */
 
-import org.jtregext.GuiTestListener;
 import com.sun.swingset3.demos.tree.TreeDemo;
 import static com.sun.swingset3.demos.tree.TreeDemo.DEMO_TITLE;
+
+import java.awt.Component;
 import javax.swing.tree.TreePath;
-import static org.testng.AssertJUnit.*;
-import org.testng.annotations.Test;
+
+import org.jtregext.GuiTestListener;
+
 import org.netbeans.jemmy.ClassReference;
+import org.netbeans.jemmy.ComponentChooser;
 import org.netbeans.jemmy.operators.JFrameOperator;
 import org.netbeans.jemmy.operators.JTreeOperator;
+
 import org.testng.annotations.Listeners;
+import org.testng.annotations.Test;
+import static org.testng.AssertJUnit.*;
 
 /*
  * @test
  * @key headful
  * @summary Verifies SwingSet3 TreeDemo by expanding all collapsed nodes in the

@@ -43,17 +49,33 @@
  *          vertically (as ScrollPane allows it).
  *
  * @library /sanity/client/lib/jemmy/src
  * @library /sanity/client/lib/Extensions/src
  * @library /sanity/client/lib/SwingSet3/src
+ * @modules java.desktop
+ *          java.logging
  * @build org.jemmy2ext.JemmyExt
  * @build com.sun.swingset3.demos.tree.TreeDemo
  * @run testng TreeDemoTest
  */
 @Listeners(GuiTestListener.class)
 public class TreeDemoTest {
 
+    private static final int NODES_TO_EXPAND = 75;
+    private static final int NODES_TOTAL = 616;
+
+    private void waitRowCount(JTreeOperator tree, int count) {
+        tree.waitState(new ComponentChooser() {
+            public boolean checkComponent(Component comp) {
+                return tree.getRowCount() == count;
+            }
+            public String getDescription() {
+                return "A tree to have " + count + " rows";
+            }
+        });
+    }
+
     @Test
     public void test() throws Exception {
 
         new ClassReference(TreeDemo.class.getCanonicalName()).startApplication();
 

@@ -73,13 +95,12 @@
                 tree.expandRow(i);
                 expandsCount++;
             }
         }
 
-        assertEquals("Number of rows expanded", 75, expandsCount);
-        assertEquals("Number of rows in the tree after expanding all of them",
-                616, tree.getRowCount());
+        assertEquals("Number of rows expanded", NODES_TO_EXPAND, expandsCount);
+        waitRowCount(tree, NODES_TOTAL);
 
         int expandedTreeHeight = tree.getHeight();
         assertTrue("Expanded tree height has increased, current "
                 + expandedTreeHeight + " > initial " + initialTreeHeight,
                 expandedTreeHeight > initialTreeHeight);

@@ -92,13 +113,12 @@
                 tree.collapseRow(i);
                 collapsesCount++;
             }
         }
 
-        assertEquals("Number of rows collapsed", 76, collapsesCount);
-        assertEquals("Number of rows in the tree after collapsing all of them",
-                1, tree.getRowCount());
+        assertEquals("Number of rows collapsed", NODES_TO_EXPAND + 1, collapsesCount);
+        waitRowCount(tree, 1);
 
         int collapsedTreeHeight = tree.getHeight();
         assertTrue("Collpased tree height is not longer than initial, "
                 + "current " + collapsedTreeHeight + " <= initial "
                 + initialTreeHeight,
< prev index next >