KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > commons > latka > HtmlPrettyPrintWriter


1 /*
2  * Copyright 1999-2002,2004 The Apache Software Foundation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

16
17 package org.apache.commons.latka;
18
19 import java.io.PrintWriter JavaDoc;
20 import java.io.Writer JavaDoc;
21
22 /**
23  * Provides more attractive HTML formatting for the runtime
24  * output of Latka. The characters printed during test
25  * execution ("." for success, "F" for failure, "E" for
26  * error, "S" for skipped) will be color coded,
27  * and a <wbr> tag will be inserted roughly
28  * every five characters
29  * to allow for line wrapping.
30  *
31  * @author Morgan Delagrange
32  * @author dIon Gillard (javadocs)
33  * @see XMLReporter#setPrintWriter(PrintWriter)
34  * @version $Revision$
35  */

36 public class HtmlPrettyPrintWriter extends PrintWriter JavaDoc {
37
38   /** number of characters written by the writer */
39   protected int _charsWritten = 0;
40
41   /**
42    * Create a HtmlPrettyPrintWriter wrapping an existing writer
43    * sends output to the wrapped writer
44    * @param writer any java.io.Writer
45    */

46   public HtmlPrettyPrintWriter(Writer JavaDoc writer) {
47     super(writer);
48   }
49
50   /**
51    * Write a string to the wrapped writer format it specially as per
52    * the class definition
53    * @param output a String to be written
54    */

55   public void print(String JavaDoc output) {
56
57     ++_charsWritten;
58
59     if (output == null) {
60       super.print(output);
61     } else if (output.equals(".")) {
62       super.print("<font color=\"green\">.</font>");
63     } else if (output.equals("S")) {
64       super.print("<font color=\"gray\">S</font>");
65     } else if (output.equals("F")) {
66       super.print("<font color=\"red\">F</font>");
67     } else if (output.equals("E")) {
68       super.print("<font color=\"red\">E</font>");
69     } else {
70       super.print(output);
71     }
72
73     if ((_charsWritten % 5) == 0) {
74       super.print("<wbr>");
75     }
76
77   }
78
79 }
80
Popular Tags