public void addError(final Test test, final Throwable t) { fModel.addError(test); fireTestChanged(test, true); }
public void addFailure(final Test test, final AssertionFailedError t) { fModel.addFailure(test); fireTestChanged(test, true); }
/** * A test ended. */ public void endTest(Test test) { fModel.addRunTest(test); fireTestChanged(test, false); }
/** * Finds the path to a test. Returns the index of the test in its * parent test suite. */ public int findTest(Test target, Test node, Vector path) { if (target.equals(node)) return 0; TestSuite suite= isTestSuite(node); for (int i= 0; i < getChildCount(node); i++) { Test t= suite.testAt(i); int index= findTest(target, t, path); if (index >= 0) { path.insertElementAt(node, 0); if (path.size() == 1) return i; return index; } } return -1; } /**
public void run() { Vector vpath= new Vector(); int index= fModel.findTest(test, (Test)fModel.getRoot(), vpath); if (index >= 0) { Object[] path= new Object[vpath.size()]; vpath.copyInto(path); TreePath treePath= new TreePath(path); fModel.fireNodeChanged(treePath, index); if (expand) { Object[] fullPath= new Object[vpath.size()+1]; vpath.copyInto(fullPath); fullPath[vpath.size()]= fModel.getChild(treePath.getLastPathComponent(), index);; TreePath fullTreePath= new TreePath(fullPath); fTree.scrollPathToVisible(fullTreePath); } } } }
public void revealFailure(Test failure) { JTree tree= fTreeBrowser.getTree(); TestTreeModel model= (TestTreeModel)tree.getModel(); Vector vpath= new Vector(); int index= model.findTest(failure, (Test)model.getRoot(), vpath); if (index >= 0) { Object[] path= new Object[vpath.size()+1]; vpath.copyInto(path); Object last= path[vpath.size()-1]; path[vpath.size()]= model.getChild(last, index); TreePath selectionPath= new TreePath(path); tree.setSelectionPath(selectionPath); tree.makeVisible(selectionPath); } }
/** * Fires a node changed event */ public void fireNodeChanged(TreePath path, int index) { int[] indices= {index}; Object[] changedChildren= {getChild(path.getLastPathComponent(), index)}; TreeModelEvent event= new TreeModelEvent(this, path, indices, changedChildren); Enumeration e= fModelListeners.elements(); while (e.hasMoreElements()) { TreeModelListener l= (TreeModelListener) e.nextElement(); l.treeNodesChanged(event); } } /**
/** * Shows the test hierarchy starting at the given test */ public void showTestTree(Test root) { fModel= new TestTreeModel(root); fTree.setModel(fModel); fTree.setCellRenderer(new TestTreeCellRenderer()); }