01: // Copyright (C) 2003,2004,2005 by Object Mentor, Inc. All rights reserved.
02: // Released under the terms of the GNU General Public License version 2 or later.
03: package fitnesse.runner;
04:
05: import fit.*;
06:
07: public class TestRunnerFixtureListener implements FixtureListener {
08: public Counts counts = new Counts();
09: private boolean atStartOfResult = true;
10: private PageResult currentPageResult;
11: private TestRunner runner;
12:
13: public TestRunnerFixtureListener(TestRunner runner) {
14: this .runner = runner;
15: }
16:
17: public void tableFinished(Parse table) {
18: try {
19: String data = new String(FitServer.readTable(table),
20: "UTF-8");
21: if (atStartOfResult) {
22: int indexOfFirstLineBreak = data.indexOf("\n");
23: String pageTitle = data.substring(0,
24: indexOfFirstLineBreak);
25: data = data.substring(indexOfFirstLineBreak + 1);
26: currentPageResult = new PageResult(pageTitle);
27: atStartOfResult = false;
28: }
29: currentPageResult.append(data);
30: } catch (Exception e) {
31: e.printStackTrace();
32: }
33: }
34:
35: public void tablesFinished(Counts count) {
36: try {
37: currentPageResult.setCounts(count);
38: runner.acceptResults(currentPageResult);
39: atStartOfResult = true;
40: counts.tally(count);
41: } catch (Exception e) {
42: e.printStackTrace();
43: }
44: }
45: }
|