aboutsummaryrefslogtreecommitdiff
path: root/src/junit/swingui/TestSuitePanel.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/junit/swingui/TestSuitePanel.java')
-rw-r--r--src/junit/swingui/TestSuitePanel.java172
1 files changed, 0 insertions, 172 deletions
diff --git a/src/junit/swingui/TestSuitePanel.java b/src/junit/swingui/TestSuitePanel.java
deleted file mode 100644
index d8902ad..0000000
--- a/src/junit/swingui/TestSuitePanel.java
+++ /dev/null
@@ -1,172 +0,0 @@
-package junit.swingui;
-
-import java.awt.BorderLayout;
-import java.awt.Component;
-import java.awt.Dimension;
-import java.util.Vector;
-
-import javax.swing.Icon;
-import javax.swing.JComponent;
-import javax.swing.JPanel;
-import javax.swing.JScrollPane;
-import javax.swing.JTree;
-import javax.swing.SwingUtilities;
-import javax.swing.ToolTipManager;
-import javax.swing.tree.DefaultTreeCellRenderer;
-import javax.swing.tree.TreeModel;
-import javax.swing.tree.TreePath;
-
-import junit.framework.AssertionFailedError;
-import junit.framework.Test;
-import junit.framework.TestListener;
-
-/**
- * A Panel showing a test suite as a tree.
- */
-class TestSuitePanel extends JPanel implements TestListener {
- private JTree fTree;
- private JScrollPane fScrollTree;
- private TestTreeModel fModel;
-
- static class TestTreeCellRenderer extends DefaultTreeCellRenderer {
- private Icon fErrorIcon;
- private Icon fOkIcon;
- private Icon fFailureIcon;
-
- TestTreeCellRenderer() {
- super();
- loadIcons();
- }
-
- void loadIcons() {
- fErrorIcon= TestRunner.getIconResource(getClass(), "icons/error.gif");
- fOkIcon= TestRunner.getIconResource(getClass(), "icons/ok.gif");
- fFailureIcon= TestRunner.getIconResource(getClass(), "icons/failure.gif");
- }
-
- String stripParenthesis(Object o) {
- String text= o.toString ();
- int pos= text.indexOf('(');
- if (pos < 1)
- return text;
- return text.substring (0, pos);
- }
-
- public Component getTreeCellRendererComponent(JTree tree, Object value,
- boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) {
-
- Component c= super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus);
- TreeModel model= tree.getModel();
- if (model instanceof TestTreeModel) {
- TestTreeModel testModel= (TestTreeModel)model;
- Test t= (Test)value;
- String s= "";
- if (testModel.isFailure(t)) {
- if (fFailureIcon != null)
- setIcon(fFailureIcon);
- s= " - Failed";
- }
- else if (testModel.isError(t)) {
- if (fErrorIcon != null)
- setIcon(fErrorIcon);
- s= " - Error";
- }
- else if (testModel.wasRun(t)) {
- if (fOkIcon != null)
- setIcon(fOkIcon);
- s= " - Passed";
- }
- if (c instanceof JComponent)
- ((JComponent)c).setToolTipText(getText()+s);
- }
- setText(stripParenthesis(value));
- return c;
- }
- }
-
- public TestSuitePanel() {
- super(new BorderLayout());
- setPreferredSize(new Dimension(300, 100));
- fTree= new JTree();
- fTree.setModel(null);
- fTree.setRowHeight(20);
- ToolTipManager.sharedInstance().registerComponent(fTree);
- fTree.putClientProperty("JTree.lineStyle", "Angled");
- fScrollTree= new JScrollPane(fTree);
- add(fScrollTree, BorderLayout.CENTER);
- }
-
- 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);
- }
-
- /**
- * A test started.
- */
- public void startTest(Test test) {
- }
-
- /**
- * Returns the selected test or null if multiple or none is selected
- */
- public Test getSelectedTest() {
- TreePath[] paths= fTree.getSelectionPaths();
- if (paths != null && paths.length == 1)
- return (Test)paths[0].getLastPathComponent();
- return null;
- }
-
- /**
- * Returns the Tree
- */
- public JTree getTree() {
- return fTree;
- }
-
- /**
- * 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());
- }
-
- private void fireTestChanged(final Test test, final boolean expand) {
- SwingUtilities.invokeLater(
- new Runnable() {
- 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);
- }
- }
- }
- }
- );
- }
-} \ No newline at end of file