package org.rendersnake.ext.tidy; import java.util.ArrayList; import java.util.List; import java.util.logging.Logger; import org.junit.Assert; import org.w3c.tidy.TidyMessage; import org.w3c.tidy.TidyMessage.Level; import org.w3c.tidy.TidyMessageListener; /** * TidyMessageCheck is a helper class for Unit testing Renderable components and pages. * * Unless instructed to collect all messages, it reports the first error using the jUnit Assert class and all warnings using a simple Logger. * * @author ernestmicklei */ public class TidyMessageCheck implements TidyMessageListener{ private Logger LOG = Logger.getLogger("org.rendersnake.ext.tidy.TidyMessageCheck"); public boolean collectMessages = false; public List<TidyMessage> messages = new ArrayList<TidyMessage>(); public void messageReceived(TidyMessage aMessage) { if (Level.ERROR.equals(aMessage.getLevel())) { if (collectMessages) { Assert.fail(aMessage.getMessage()); } else { messages.add(aMessage); } } else { if (collectMessages) { messages.add(aMessage); } else { LOG.log(java.util.logging.Level.WARNING, aMessage.getMessage()); } } } }