/**
* Test method for {@link ScriptUtils#writeToStream(javax.faces.context.ResponseWriter, Object)}
*/
public void testWriteToStream() throws Exception {
MockFacesEnvironment environment = MockFacesEnvironment.createEnvironment();
ResponseWriter mockWriter = environment.createMock(ResponseWriter.class);
Capture<? extends Object> capture = new Capture<Object>(CaptureType.ALL) {
/**
*
*/
private static final long serialVersionUID = -4915440411892856583L;
@Override
public void setValue(Object value) {
if (value instanceof char[]) {
char[] cs = (char[]) value;
super.setValue(new String(cs, 0, 1));
} else {
super.setValue(value);
}
}
};
mockWriter.writeText(capture(capture), (String) isNull());
expectLastCall().anyTimes();
mockWriter.writeText((char[]) capture(capture), eq(0), eq(1));
expectLastCall().anyTimes();
environment.replay();
ScriptUtils.writeToStream(mockWriter, Collections.singletonMap("delay", Integer.valueOf(1500)));
environment.verify();
assertCaptureEquals(capture, "{\"delay\":1500}");
environment.release();
}