diff -r ae393e723aa0 ide.kit/test/qa-functional/src/org/netbeans/test/ide/GeneralSanityTest.java --- a/ide.kit/test/qa-functional/src/org/netbeans/test/ide/GeneralSanityTest.java Mon May 25 12:20:32 2009 +0200 +++ b/ide.kit/test/qa-functional/src/org/netbeans/test/ide/GeneralSanityTest.java Mon May 25 12:45:50 2009 +0200 @@ -82,6 +82,7 @@ honorAutoloadEager(true). addTest( // "testWaitForUIReady", + "testSelectAllNodesInServicesTab", "testBlacklistedClassesHandler", "testOrgOpenideOptionsIsDisabledAutoload", "testOrgNetBeansModulesLanguagesIsDisabledAutoload", @@ -125,6 +126,64 @@ r.waitForAWT(); } + + public void testSelectAllNodesInServicesTab() throws Exception { + // issue 162859 + + // make sure BPEL is available and initialized: + ClassLoader l = Lookup.getDefault().lookup(ClassLoader.class); + Class clazz = Class.forName("org.netbeans.modules.bpel.debugger.ui.action.Breakpoint", true, l); + Object obj = clazz.newInstance(); + assertNotNull("BPEL breakpoints support initialized", obj); + + class R implements Runnable { + TopComponent services; + ExplorerManager em; + Node[] nodes; + + public synchronized void run() { + services = WindowManager.getDefault().findTopComponent("services"); + notifyAll(); + assertNotNull("Services tab shall be found", services); + services.open(); + services.requestVisible(); + services.requestActive(); + + if (services instanceof ExplorerManager.Provider) { + em = ((ExplorerManager.Provider)services).getExplorerManager(); + } else { + fail("Services tab is also ExplorerManager.Provider"); + } + nodes = em.getRootContext().getChildren().getNodes(true); + } + + synchronized final void waitForAWT() throws InterruptedException { + int countDown = 10; + while (services == null && countDown-- > 0) { + WindowManager.getDefault().invokeWhenUIReady(this); + wait(); + } + } + } + R r = new R(); + r.waitForAWT(); + + + assertNotNull("Services Top Component found", r.services); + assertNotNull("Nodes are ready", r.nodes); + + int cnt = 0; + for (Node n : r.nodes) { + r.em.setSelectedNodes(new Node[] { n }); + Thread.sleep(500); + cnt++; + } + + if (cnt == 0) { + fail("Fail no nodes in Services tab"); + } + } + public void testBlacklistedClassesHandler() throws Exception { BlacklistedClassesHandler bcHandler = BlacklistedClassesHandlerSingleton.getBlacklistedClassesHandler();