package fitnesse.logging; import java.util.logging.Level; import java.util.logging.LogRecord; import org.junit.Test; import static org.junit.Assert.*; public class LogFormatterTest { @Test public void logLine() { LogRecord logRecord = new LogRecord(Level.INFO, "message"); logRecord.setLoggerName("MyLogger"); assertEquals("message" + System.getProperty("line.separator"), new LogFormatter().format(logRecord)); } @Test public void logWarningLine() { LogRecord logRecord = new LogRecord(Level.WARNING, "message"); logRecord.setLoggerName("MyLogger"); assertEquals("WARNING: message" + System.getProperty("line.separator"), new LogFormatter().format(logRecord)); } @Test public void logSevereLine() { LogRecord logRecord = new LogRecord(Level.SEVERE, "message"); logRecord.setLoggerName("MyLogger"); assertEquals("SEVERE: message" + System.getProperty("line.separator"), new LogFormatter().format(logRecord)); } @Test public void logShouldLogExceptions() { LogRecord logRecord = new LogRecord(Level.WARNING, "message"); logRecord.setLoggerName("MyLogger"); logRecord.setThrown(new RuntimeException(new IllegalArgumentException("Something went wrong here"))); String logOutput = new LogFormatter().format(logRecord); assertTrue(logOutput, logOutput.contains("WARNING: message [java.lang.IllegalArgumentException: Something went wrong here]" + System.getProperty("line.separator"))); assertTrue(logOutput, logOutput.contains("at fitnesse.logging.LogFormatterTest.logShouldLogExceptions")); } @Test public void logShouldNotLogExceptionsAtInfoLevel() { LogRecord logRecord = new LogRecord(Level.WARNING, "message"); logRecord.setLoggerName("MyLogger"); logRecord.setThrown(new RuntimeException(new IllegalArgumentException("Something went wrong here"))); String logOutput = new LogFormatter().format(logRecord); assertTrue(logOutput, logOutput.contains("WARNING: message [java.lang.IllegalArgumentException: Something went wrong here]" + System.getProperty("line.separator"))); assertFalse(logOutput, logOutput.contains("at fitnesse.logging.LogFormatterTest.logShouldLogExceptions")); } }