Hi, I'm trying to add unit tests for org.apache.sling.junit.impl.servlet.HtmlRenderer. However, I'm not sure the best way to verify that the correct behavior has occurred for the public methods. Each public method takes action on a private field - a PrintWriter instance - but I'm not seeing any public way to inspect that field or get the output.
One approach I know will work is to use reflection to initialize the PrintWriter and then to capture the output after calling a method. This approach technically will work, but it makes the code brittle. Other options would be to make the PrintWriter protected, so I can inspect it from a child class, or add a method to the HtmlRenderer that returns the contents of the PrintWriter, e.g. public String render() { output.flush(); return new String(outputStream.getBytes()); } Any suggestions on the approach from the community? -MR