import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
+import com.google.common.base.Charsets;
import com.google.common.collect.Lists;
+import com.google.common.io.Files;
import com.puppycrawl.tools.checkstyle.Checker;
import com.puppycrawl.tools.checkstyle.ConfigurationLoader;
import com.puppycrawl.tools.checkstyle.DefaultLogger;
import com.puppycrawl.tools.checkstyle.api.Configuration;
import java.io.ByteArrayOutputStream;
import java.io.File;
+import java.util.List;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
"16: LoggerFactory.getLogger Class argument is incorrect",
"18: Logger might be declared only once",
"17: Logger must be slf4j",
- "23: Line contains printStacktrace",
- "24: Line contains console output",
- "25: Line contains console output",
"27: Log message placeholders count is incorrect",
- "33: Log message placeholders count is incorrect",
- "42: Log message contains string concatenation");
+ "36: Log message placeholders count is incorrect",
+ "45: Log message contains string concatenation");
}
@Test
- public void testCodingChecks() throws Exception {
- verify(CheckCodingStyleTestClass.class, false,
- "9: Line has Windows line delimiter.",
- "14: Wrong order for",
- "24:1: Line contains a tab character.",
- "22: Line has trailing spaces.",
- "22: 'ctor def' child have incorrect indentation level 16, expected level should be 8.",
- "17:8: Unused import",
- "23: Line has trailing spaces.");
+ public void testLogMessageExtractorCheck() throws Exception {
+ File logMessageReport = LogMessageExtractorCheck.DEFAULT_REPORT_FILE;
+ logMessageReport.delete();
+ verify(CheckLoggingTestClass.class, false);
+ List<String> reportLines = Files.readLines(logMessageReport, Charsets.UTF_8);
+ assertEquals(6, reportLines.size());
+ assertEquals("src/test/java/org/opendaylight/yangtools/checkstyle/CheckLoggingTestClass.java:27:\"foo {} {}\"", reportLines.get(0));
+ // TODO assertEquals("src/test/java/org/opendaylight/yangtools/checkstyle/CheckLoggingTestClass.java:28:\"foo {} bar {}\"", reportLines.get(1));
}
private void verify(final Class<?> testClass, final boolean checkCount, final String... expectedMessages) throws CheckstyleException {