/** * Return the message associated to the event. * @return the event message */ public String getMessage() { return localizedMessage.getMessage(); }
/** * Return the message associated to the event. * @return the event message */ public String getMessage() { return localizedMessage.getMessage(); }
@Override public void auditStarted(AuditEvent event) { final LocalizedMessage auditStartMessage = new LocalizedMessage(1, Definitions.CHECKSTYLE_BUNDLE, AUDIT_STARTED_MESSAGE, null, null, LocalizedMessage.class, null); infoWriter.println(auditStartMessage.getMessage()); infoWriter.flush(); }
@Override public void addException(AuditEvent event, Throwable throwable) { synchronized (errorWriter) { final LocalizedMessage addExceptionMessage = new LocalizedMessage(1, Definitions.CHECKSTYLE_BUNDLE, ADD_EXCEPTION_MESSAGE, new String[] {event.getFileName()}, null, LocalizedMessage.class, null); errorWriter.println(addExceptionMessage.getMessage()); throwable.printStackTrace(errorWriter); } }
@Override public void auditFinished(AuditEvent event) { final LocalizedMessage auditFinishMessage = new LocalizedMessage(1, Definitions.CHECKSTYLE_BUNDLE, AUDIT_FINISHED_MESSAGE, null, null, LocalizedMessage.class, null); infoWriter.println(auditFinishMessage.getMessage()); closeStreams(); }
@Test public void testEnforceEnglishLanguageBySettingUnitedStatesLocale() { Locale.setDefault(Locale.FRENCH); LocalizedMessage.setLocale(Locale.US); final LocalizedMessage localizedMessage = createSampleLocalizedMessage(); assertEquals("Invalid message", "Empty statement.", localizedMessage.getMessage()); }
@Test public void testEnforceEnglishLanguageBySettingRootLocale() { Locale.setDefault(Locale.FRENCH); LocalizedMessage.setLocale(Locale.ROOT); final LocalizedMessage localizedMessage = createSampleLocalizedMessage(); assertEquals("Invalid message", "Empty statement.", localizedMessage.getMessage()); }
@Test public void testCleatBundleCache() { Locale.setDefault(Locale.FRENCH); LocalizedMessage.setLocale(Locale.ROOT); final LocalizedMessage localizedMessage = createSampleLocalizedMessage(); assertEquals("Invalid message", "Empty statement.", localizedMessage.getMessage()); final Map<String, ResourceBundle> bundleCache = Whitebox.getInternalState(LocalizedMessage.class, "BUNDLE_CACHE"); assertEquals("Invalid bundle cache size", 1, bundleCache.size()); LocalizedMessage.setLocale(Locale.CHINA); assertEquals("Invalid bundle cache size", 0, bundleCache.size()); }
@Test public void testMessageInEnglish() { final LocalizedMessage localizedMessage = createSampleLocalizedMessage(); LocalizedMessage.setLocale(Locale.ENGLISH); assertEquals("Invalid message", "Empty statement.", localizedMessage.getMessage()); }
@Test public void testCustomMessageWithParameters() throws Exception { final DefaultConfiguration config = createModuleConfig(emptyCheck.getClass()); config.addMessage("msgKey", "This is a custom message with {0}."); emptyCheck.configure(config); emptyCheck.log(1, "msgKey", "TestParam"); final SortedSet<LocalizedMessage> messages = emptyCheck.getMessages(); assertEquals("Amount of messages differs from expected", 1, messages.size()); assertEquals("Message differs from expected", "This is a custom message with TestParam.", messages.first().getMessage()); }
@Test public void testCustomMessage() throws Exception { final DefaultConfiguration config = createModuleConfig(emptyCheck.getClass()); config.addMessage("msgKey", "This is a custom message."); emptyCheck.configure(config); emptyCheck.log(1, "msgKey"); final SortedSet<LocalizedMessage> messages = emptyCheck.getMessages(); assertEquals("Amount of messages differs from expected", 1, messages.size()); assertEquals("Message differs from expected", "This is a custom message.", messages.first() .getMessage()); }
@Test public void testMessageInFrench() { final LocalizedMessage localizedMessage = createSampleLocalizedMessage(); LocalizedMessage.setLocale(Locale.FRENCH); assertEquals("Invalid message", "Instruction vide.", localizedMessage.getMessage()); }
@Test public void testExistingTargetFilePlainOutput() throws Exception { exit.checkAssertionAfterwards(() -> { assertEquals("Unexpected output log", auditStartMessage.getMessage() + EOL + auditFinishMessage.getMessage() + EOL, systemOut.getLog()); assertEquals("Unexpected system error log", "", systemErr.getLog()); }); Main.main("-c", getPath("InputMainConfig-classname.xml"), "-f", "plain", getPath("InputMain.java")); }
@Test public void testExistingTargetFile() throws Exception { exit.checkAssertionAfterwards(() -> { assertEquals("Unexpected output log", auditStartMessage.getMessage() + EOL + auditFinishMessage.getMessage() + EOL, systemOut.getLog()); assertEquals("Unexpected system error log", "", systemErr.getLog()); }); Main.main("-c", getPath("InputMainConfig-classname.xml"), getPath("InputMain.java")); }
@Test public void testExistingTargetFilePlainOutputProperties() throws Exception { //exit.expectSystemExitWithStatus(0); exit.checkAssertionAfterwards(() -> { assertEquals("Unexpected output log", auditStartMessage.getMessage() + EOL + auditFinishMessage.getMessage() + EOL, systemOut.getLog()); assertEquals("Unexpected system error log", "", systemErr.getLog()); }); Main.main("-c", getPath("InputMainConfig-classname-prop.xml"), "-p", getPath("InputMainMycheckstyle.properties"), getPath("InputMain.java")); }
@Test public void testAddErrorModuleId() throws Exception { final XMLLogger logger = new XMLLogger(outStream, true); logger.auditStarted(null); final LocalizedMessage message = new LocalizedMessage(1, 1, "messages.properties", "key", null, SeverityLevel.ERROR, "module", getClass(), null); final AuditEvent ev = new AuditEvent(this, "Test.java", message); logger.addError(ev); logger.auditFinished(null); verifyXml(getPath("ExpectedXMLLoggerErrorModuleId.xml"), outStream, message.getMessage()); }
@Test public void testAddErrorWithNullFileName() throws Exception { final XMLLogger logger = new XMLLogger(outStream, true); logger.auditStarted(null); final LocalizedMessage message = new LocalizedMessage(1, 1, "messages.properties", "key", null, SeverityLevel.ERROR, null, getClass(), null); final AuditEvent ev = new AuditEvent(this, null, message); logger.addError(ev); logger.auditFinished(null); verifyXml(getPath("ExpectedXMLLoggerErrorNullFileName.xml"), outStream, message.getMessage()); }
@Test public void testNonExistentClass() throws Exception { exit.expectSystemExitWithStatus(-2); exit.checkAssertionAfterwards(() -> { final String expectedExceptionMessage = errorCounterOneMessage.getMessage() + EOL; assertEquals("Unexpected output log", expectedExceptionMessage, systemOut.getLog()); final String cause = "com.puppycrawl.tools.checkstyle.api.CheckstyleException:" + " cannot initialize module TreeWalker - "; assertTrue("Unexpected system error log", systemErr.getLog().startsWith(cause)); }); Main.main("-c", getPath("InputMainConfig-non-existent-classname.xml"), getPath("InputMain.java")); }
@Test public void testExistingIncorrectConfigFile() throws Exception { exit.expectSystemExitWithStatus(-2); exit.checkAssertionAfterwards(() -> { final String output = errorCounterOneMessage.getMessage() + EOL; assertEquals("Unexpected output log", output, systemOut.getLog()); final String errorOutput = "com.puppycrawl.tools.checkstyle.api." + "CheckstyleException: unable to parse configuration stream - "; assertTrue("Unexpected system error log", systemErr.getLog().startsWith(errorOutput)); }); Main.main("-c", getPath("InputMainConfig-Incorrect.xml"), getPath("InputMain.java")); }
@Test public void testAddError() throws Exception { final XMLLogger logger = new XMLLogger(outStream, true); logger.auditStarted(null); final LocalizedMessage message = new LocalizedMessage(1, 1, "messages.properties", "key", null, SeverityLevel.ERROR, null, getClass(), null); final AuditEvent ev = new AuditEvent(this, "Test.java", message); logger.fileStarted(ev); logger.addError(ev); logger.fileFinished(ev); logger.auditFinished(null); verifyXml(getPath("ExpectedXMLLoggerError.xml"), outStream, message.getMessage()); }