01: // Copyright © 2002-2005 Canoo Engineering AG, Switzerland.
02: package com.canoo.webtest.reporting;
03:
04: import java.io.PrintWriter;
05: import java.io.StringWriter;
06: import java.util.Collections;
07:
08: import org.apache.tools.ant.Project;
09:
10: import junit.framework.TestCase;
11:
12: import com.canoo.webtest.ant.TestStepSequence;
13: import com.canoo.webtest.ant.WebtestTask;
14: import com.canoo.webtest.engine.Context;
15: import com.canoo.webtest.self.StepStub;
16:
17: /**
18: * Unit tests for {@link PlainTextReporter}.
19: * @author Unknown
20: * @author Marc Guillemot
21: */
22: public class PlainTextReporterTest extends TestCase {
23: private RootStepResult fResultInfo;
24: private StringWriter fStringWriter;
25: private PrintWriter fPrintWriter;
26: private PlainTextReporter fReporter;
27:
28: protected void setUp() throws Exception {
29: super .setUp();
30: final Project project = new Project();
31: final WebtestTask webtest = new WebtestTask();
32: webtest.setProject(project);
33: webtest.addSteps(new TestStepSequence());
34: final Context context = new Context(webtest);
35: WebtestTask.setThreadContext(context);
36:
37: fResultInfo = new RootStepResult(webtest.getStepSequence());
38: fStringWriter = new StringWriter();
39: fPrintWriter = new PrintWriter(fStringWriter);
40: fReporter = new PlainTextReporter();
41: }
42:
43: public void testPrintNoSteps() {
44: fReporter.print(fPrintWriter, fResultInfo);
45: assertTrue("Summary header", fStringWriter.toString()
46: .startsWith("Test step summary for specification:"));
47: }
48:
49: public void testPrintCompletedStep() {
50:
51: final StepResult result = new StepResult("myTask");
52: result.taskFinished(new StepStub(), null,
53: Collections.EMPTY_LIST);
54: fResultInfo.addChild(result);
55:
56: fReporter.print(fPrintWriter, fResultInfo);
57: final String str = fStringWriter.toString();
58: assertTrue(str.startsWith("Test"));
59: assertTrue(str.indexOf("myTask") > 0);
60: assertTrue(str.indexOf("Duration") > 0);
61: }
62:
63: public void testPrintNotCompleted() {
64:
65: final StepResult result = new StepResult("myTask");
66: fResultInfo.addChild(result);
67:
68: fReporter.print(fPrintWriter, fResultInfo);
69: final String str = fStringWriter.toString();
70: assertTrue(str.startsWith("Test"));
71: assertTrue(str.indexOf("myTask") > 0);
72: assertTrue(str.indexOf("not completed") > 0);
73: }
74:
75: public void testPrintNotSuccessful() {
76:
77: final StepResult result = new StepResult("myTask");
78: fResultInfo.addChild(result);
79: fResultInfo.setLastFailingTaskResult(result,
80: new IllegalArgumentException("dummy error"));
81:
82: fReporter.print(fPrintWriter, fResultInfo);
83: final String str = fStringWriter.toString();
84: assertTrue(str.startsWith("Test"));
85: assertTrue(str.indexOf("PlainTextReporter") > 0);
86: assertTrue(str.indexOf("Test failed.") > 0);
87: assertTrue(str.indexOf("IllegalArgumentException") > 0);
88: assertTrue(str.indexOf("dummy error") > 0);
89: }
90: }
|