Index: test/unit/src/org/netbeans/core/output2/OutputWindowTest.java =================================================================== RCS file: /cvs/core/output2/test/unit/src/org/netbeans/core/output2/OutputWindowTest.java,v retrieving revision 1.2 diff -u -r1.2 OutputWindowTest.java --- test/unit/src/org/netbeans/core/output2/OutputWindowTest.java 22 Sep 2004 22:23:00 -0000 1.2 +++ test/unit/src/org/netbeans/core/output2/OutputWindowTest.java 20 Oct 2004 10:14:36 -0000 @@ -86,7 +86,7 @@ public class Shower implements Runnable { public void run() { - jf.show(); + jf.setVisible(true); } } @@ -212,6 +212,53 @@ assertSame ("OutputWriter should not be replaced by calling clearing/reset() on it", writer, io.getOut()); assertNotSame ("Underlying OutWriter should be replaced by calling reset() on a used NbWriter", outwriter, writer.out()); } + + public void testTabsSwitching() { + System.out.println("testTabsSwitching"); + + NbIO io1 = (NbIO) provider.getIO("SwitchTest1", true); + io1.getOut().println("I'm first tab"); + sleep(); + + NbIO io2 = (NbIO) provider.getIO("SwitchTest2", true); + io2.getOut().println("I'm second tab"); + sleep(); + + NbIO io3 = (NbIO) provider.getIO("SwitchTest3", true); + io3.getOut().println("I'm third tab"); + sleep(); + + AbstractOutputTab[] tabs = win.getTabs(); + assertSame("\"SwitchTest3\"(last) tab should be selected.", win.getSelectedTab(), tabs[2]); + + win.selectNextTab(win.getSelectedTab()); + assertSame("\"SwitchTest1\" tab should be selected.", win.getSelectedTab(), tabs[0]); + sleep(); + + win.selectPreviousTab(win.getSelectedTab()); + assertSame("\"SwitchTest3\" tab should be selected.", win.getSelectedTab(), tabs[2]); + sleep(); + + win.selectPreviousTab(win.getSelectedTab()); + sleep(); + win.selectPreviousTab(win.getSelectedTab()); + sleep(); + win.selectNextTab(win.getSelectedTab()); + sleep(); + assertSame("\"SwitchTest2\" tab should be selected.", win.getSelectedTab(), tabs[1]); + + // Ensure the actions are paying attention + SwingUtilities.invokeLater(new Runnable() { + public void run() { + win.getController().nextTabAction.actionPerformed( + new ActionEvent(win.getSelectedTab(), ActionEvent.ACTION_PERFORMED, "nextTab")); + } + }); + sleep(); + sleep(); + assertSame("\"SwitchTest1\" tab should be selected after invoking nextTab action.", + win.getSelectedTab(), tabs[2]); + } public void testListenersCleared() throws Exception { @@ -342,7 +389,6 @@ ls4[i].assertCleared("CloseInputOutput should cause all OutputListeners to be cleared"); } } - public class L implements OutputListener { private OutputEvent clearedEvent = null;