blob: 330cd9b5df755dc623ec9eecb6573faeae2b7394 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.log4j;
import junit.framework.TestCase;
import java.io.CharArrayWriter;
/**
* Unit test for LogSF.
*/
public class TestLogSF extends TestCase {
/**
* Trace level.
*/
private static final Level TRACE = getTraceLevel();
/**
* Gets Trace level.
* Trace level was not defined prior to log4j 1.2.12.
* @return trace level
*/
private static Level getTraceLevel() {
try {
return (Level) Level.class.getField("TRACE").get(null);
} catch(Exception ex) {
return new Level(5000, "TRACE", 7);
}
}
/**
* Logger.
*/
private final Logger logger = Logger.getLogger(
"org.apache.log4j.formatter.TestLogSF");
/**
* Create the test case
*
* @param testName name of the test case
*/
public TestLogSF(String testName) {
super(testName);
}
/**
* Post test clean up.
*/
public void tearDown() {
LogManager.resetConfiguration();
}
/**
* Test class name when logging through LogSF.
*/
public void testClassName() {
CharArrayWriter writer = new CharArrayWriter();
PatternLayout layout = new PatternLayout("%C");
WriterAppender appender = new WriterAppender(layout, writer);
appender.activateOptions();
Logger.getRootLogger().addAppender(appender);
LogSF.debug(logger, null, Math.PI);
assertEquals(TestLogSF.class.getName(), writer.toString());
}
/**
* Test LogSF.trace with null pattern.
*/
public void testTraceNullPattern() {
LogCapture capture = new LogCapture(TRACE);
logger.setLevel(TRACE);
LogSF.trace(logger, null, Math.PI);
assertNull(capture.getMessage());
}
/**
* Test LogSF.trace with no-field pattern.
*/
public void testTraceNoArg() {
LogCapture capture = new LogCapture(TRACE);
logger.setLevel(TRACE);
LogSF.trace(logger, "Hello, World", Math.PI);
assertEquals("Hello, World", capture.getMessage());
}
/**
* Test LogSF.trace with malformed pattern.
*/
public void testTraceBadPattern() {
LogCapture capture = new LogCapture(TRACE);
logger.setLevel(TRACE);
LogSF.trace(logger, "Hello, {.", Math.PI);
assertEquals("Hello, {.", capture.getMessage());
}
/**
* Test LogSF.trace with missing argument.
*/
public void testTraceMissingArg() {
LogCapture capture = new LogCapture(TRACE);
logger.setLevel(TRACE);
LogSF.trace(logger, "Hello, {}World", new Object[0]);
assertEquals("Hello, {}World", capture.getMessage());
}
/**
* Test LogSF.trace with single field pattern with string argument.
*/
public void testTraceString() {
LogCapture capture = new LogCapture(TRACE);
logger.setLevel(TRACE);
LogSF.trace(logger, "Hello, {}", "World");
assertEquals("Hello, World", capture.getMessage());
}
/**
* Test LogSF.trace with single field pattern with null argument.
*/
public void testTraceNull() {
LogCapture capture = new LogCapture(TRACE);
logger.setLevel(TRACE);
LogSF.trace(logger, "Hello, {}", (Object) null);
assertEquals("Hello, null", capture.getMessage());
}
/**
* Test LogSF.trace with single field pattern with int argument.
*/
public void testTraceInt() {
LogCapture capture = new LogCapture(TRACE);
logger.setLevel(TRACE);
int val = 42;
LogSF.trace(logger, "Iteration {}", val);
assertEquals("Iteration 42", capture.getMessage());
}
/**
* Test LogSF.trace with single field pattern with byte argument.
*/
public void testTraceByte() {
LogCapture capture = new LogCapture(TRACE);
logger.setLevel(TRACE);
byte val = 42;
LogSF.trace(logger, "Iteration {}", val);
assertEquals("Iteration 42", capture.getMessage());
}
/**
* Test LogSF.trace with single field pattern with short argument.
*/
public void testTraceShort() {
LogCapture capture = new LogCapture(TRACE);
logger.setLevel(TRACE);
short val = 42;
LogSF.trace(logger, "Iteration {}", val);
assertEquals("Iteration 42", capture.getMessage());
}
/**
* Test LogSF.trace with single field pattern with long argument.
*/
public void testTraceLong() {
LogCapture capture = new LogCapture(TRACE);
logger.setLevel(TRACE);
long val = 42;
LogSF.trace(logger, "Iteration {}", val);
assertEquals("Iteration 42", capture.getMessage());
}
/**
* Test LogSF.trace with single field pattern with char argument.
*/
public void testTraceChar() {
LogCapture capture = new LogCapture(TRACE);
logger.setLevel(TRACE);
char val = 'C';
LogSF.trace(logger, "Iteration {}", val);
assertEquals("Iteration C", capture.getMessage());
}
/**
* Test LogSF.trace with single field pattern with boolean argument.
*/
public void testTraceBoolean() {
LogCapture capture = new LogCapture(TRACE);
logger.setLevel(TRACE);
boolean val = true;
LogSF.trace(logger, "Iteration {}", val);
assertEquals("Iteration true", capture.getMessage());
}
/**
* Test LogSF.trace with single field pattern with float argument.
*/
public void testTraceFloat() {
LogCapture capture = new LogCapture(TRACE);
logger.setLevel(TRACE);
float val = 3.14f;
LogSF.trace(logger, "Iteration {}", val);
assertEquals("Iteration " + String.valueOf(val), capture.getMessage());
}
/**
* Test LogSF.trace with single field pattern with double argument.
*/
public void testTraceDouble() {
LogCapture capture = new LogCapture(TRACE);
logger.setLevel(TRACE);
double val = 3.14;
LogSF.trace(logger, "Iteration {}", val);
assertEquals("Iteration " + String.valueOf(val), capture.getMessage());
}
/**
* Test LogSF.trace with two arguments.
*/
public void testTraceTwoArg() {
LogCapture capture = new LogCapture(TRACE);
logger.setLevel(TRACE);
LogSF.trace(logger, "{}, {}.", "Hello", "World");
assertEquals("Hello, World.", capture.getMessage());
}
/**
* Test LogSF.trace with three arguments.
*/
public void testTraceThreeArg() {
LogCapture capture = new LogCapture(TRACE);
logger.setLevel(TRACE);
LogSF.trace(logger, "{}{} {}.", "Hello", ",", "World");
assertEquals("Hello, World.", capture.getMessage());
}
/**
* Test LogSF.trace with Object[] argument.
*/
public void testTraceFourArg() {
LogCapture capture = new LogCapture(TRACE);
logger.setLevel(TRACE);
LogSF.trace(logger, "{}{} {}{}", "Hello", ",", "World", ".");
assertEquals("Hello, World.", capture.getMessage());
}
/**
* Test LogSF.trace with Object[] argument.
*/
public void testTraceArrayArg() {
LogCapture capture = new LogCapture(TRACE);
logger.setLevel(TRACE);
Object[] args = new Object[] { "Hello", ",", "World", "." };
LogSF.trace(logger, "{}{} {}{}", args);
assertEquals("Hello, World.", capture.getMessage());
}
/**
* Test LogSF.trace with null Object[] argument.
*/
public void testTraceNullArrayArg() {
LogCapture capture = new LogCapture(TRACE);
logger.setLevel(TRACE);
Object[] args = null;
LogSF.trace(logger, "{}{} {}{}", args);
assertEquals("{}{} {}{}", capture.getMessage());
}
/**
* Test LogSF.debug with null pattern.
*/
public void testDebugNullPattern() {
LogCapture capture = new LogCapture(Level.DEBUG);
LogSF.debug(logger, null, Math.PI);
assertNull(capture.getMessage());
}
/**
* Test LogSF.debug with no-field pattern.
*/
public void testDebugNoArg() {
LogCapture capture = new LogCapture(Level.DEBUG);
LogSF.debug(logger, "Hello, World", Math.PI);
assertEquals("Hello, World", capture.getMessage());
}
/**
* Test LogSF.debug with malformed pattern.
*/
public void testDebugBadPattern() {
LogCapture capture = new LogCapture(Level.DEBUG);
LogSF.debug(logger, "Hello, {.", Math.PI);
assertEquals("Hello, {.", capture.getMessage());
}
/**
* Test LogSF.debug with missing argument.
*/
public void testDebugMissingArg() {
LogCapture capture = new LogCapture(Level.DEBUG);
LogSF.debug(logger, "Hello, {}World", new Object[0]);
assertEquals("Hello, {}World", capture.getMessage());
}
/**
* Test LogSF.debug with single field pattern with string argument.
*/
public void testDebugString() {
LogCapture capture = new LogCapture(Level.DEBUG);
LogSF.debug(logger, "Hello, {}", "World");
assertEquals("Hello, World", capture.getMessage());
}
/**
* Test LogSF.debug with single field pattern with null argument.
*/
public void testDebugNull() {
LogCapture capture = new LogCapture(Level.DEBUG);
LogSF.debug(logger, "Hello, {}", (Object) null);
assertEquals("Hello, null", capture.getMessage());
}
/**
* Test LogSF.debug with single field pattern with int argument.
*/
public void testDebugInt() {
LogCapture capture = new LogCapture(Level.DEBUG);
int val = 42;
LogSF.debug(logger, "Iteration {}", val);
assertEquals("Iteration 42", capture.getMessage());
}
/**
* Test LogSF.debug with single field pattern with byte argument.
*/
public void testDebugByte() {
LogCapture capture = new LogCapture(Level.DEBUG);
byte val = 42;
LogSF.debug(logger, "Iteration {}", val);
assertEquals("Iteration 42", capture.getMessage());
}
/**
* Test LogSF.debug with single field pattern with short argument.
*/
public void testDebugShort() {
LogCapture capture = new LogCapture(Level.DEBUG);
short val = 42;
LogSF.debug(logger, "Iteration {}", val);
assertEquals("Iteration 42", capture.getMessage());
}
/**
* Test LogSF.debug with single field pattern with long argument.
*/
public void testDebugLong() {
LogCapture capture = new LogCapture(Level.DEBUG);
long val = 42;
LogSF.debug(logger, "Iteration {}", val);
assertEquals("Iteration 42", capture.getMessage());
}
/**
* Test LogSF.debug with single field pattern with char argument.
*/
public void testDebugChar() {
LogCapture capture = new LogCapture(Level.DEBUG);
char val = 'C';
LogSF.debug(logger, "Iteration {}", val);
assertEquals("Iteration C", capture.getMessage());
}
/**
* Test LogSF.debug with single field pattern with boolean argument.
*/
public void testDebugBoolean() {
LogCapture capture = new LogCapture(Level.DEBUG);
boolean val = true;
LogSF.debug(logger, "Iteration {}", val);
assertEquals("Iteration true", capture.getMessage());
}
/**
* Test LogSF.debug with single field pattern with float argument.
*/
public void testDebugFloat() {
LogCapture capture = new LogCapture(Level.DEBUG);
float val = 3.14f;
LogSF.debug(logger, "Iteration {}", val);
assertEquals("Iteration " + String.valueOf(val), capture.getMessage());
}
/**
* Test LogSF.debug with single field pattern with double argument.
*/
public void testDebugDouble() {
LogCapture capture = new LogCapture(Level.DEBUG);
double val = 3.14;
LogSF.debug(logger, "Iteration {}", val);
assertEquals("Iteration " + String.valueOf(val), capture.getMessage());
}
/**
* Test LogSF.debug with two arguments.
*/
public void testDebugTwoArg() {
LogCapture capture = new LogCapture(Level.DEBUG);
LogSF.debug(logger, "{}, {}.", "Hello", "World");
assertEquals("Hello, World.", capture.getMessage());
}
/**
* Test LogSF.debug with three arguments.
*/
public void testDebugThreeArg() {
LogCapture capture = new LogCapture(Level.DEBUG);
LogSF.debug(logger, "{}{} {}.", "Hello", ",", "World");
assertEquals("Hello, World.", capture.getMessage());
}
/**
* Test LogSF.debug with four arguments.
*/
public void testDebugFourArg() {
LogCapture capture = new LogCapture(Level.DEBUG);
LogSF.debug(logger, "{}{} {}{}", "Hello", ",", "World", ".");
assertEquals("Hello, World.", capture.getMessage());
}
/**
* Test LogSF.debug with Object[] argument.
*/
public void testDebugArrayArg() {
LogCapture capture = new LogCapture(Level.DEBUG);
Object[] args = new Object[] { "Hello", ",", "World", "." };
LogSF.debug(logger, "{}{} {}{}", args);
assertEquals("Hello, World.", capture.getMessage());
}
/**
* Test LogSF.debug with null Object[] argument.
*/
public void testDebugNullArrayArg() {
LogCapture capture = new LogCapture(Level.DEBUG);
Object[] args = null;
LogSF.debug(logger, "{}{} {}{}", args);
assertEquals("{}{} {}{}", capture.getMessage());
}
/**
* Test LogSF.info with null pattern.
*/
public void testInfoNullPattern() {
LogCapture capture = new LogCapture(Level.INFO);
LogSF.info(logger, null, Math.PI);
assertNull(capture.getMessage());
}
/**
* Test LogSF.info with no-field pattern.
*/
public void testInfoNoArg() {
LogCapture capture = new LogCapture(Level.INFO);
LogSF.info(logger, "Hello, World", Math.PI);
assertEquals("Hello, World", capture.getMessage());
}
/**
* Test LogSF.info with malformed pattern.
*/
public void testInfoBadPattern() {
LogCapture capture = new LogCapture(Level.INFO);
LogSF.info(logger, "Hello, {.", Math.PI);
assertEquals("Hello, {.", capture.getMessage());
}
/**
* Test LogSF.info with missing argument.
*/
public void testInfoMissingArg() {
LogCapture capture = new LogCapture(Level.INFO);
LogSF.info(logger, "Hello, {}World", new Object[0]);
assertEquals("Hello, {}World", capture.getMessage());
}
/**
* Test LogSF.info with single field pattern with string argument.
*/
public void testInfoString() {
LogCapture capture = new LogCapture(Level.INFO);
LogSF.info(logger, "Hello, {}", "World");
assertEquals("Hello, World", capture.getMessage());
}
/**
* Test LogSF.info with single field pattern with null argument.
*/
public void testInfoNull() {
LogCapture capture = new LogCapture(Level.INFO);
LogSF.info(logger, "Hello, {}", (Object) null);
assertEquals("Hello, null", capture.getMessage());
}
/**
* Test LogSF.info with single field pattern with int argument.
*/
public void testInfoInt() {
LogCapture capture = new LogCapture(Level.INFO);
int val = 42;
LogSF.info(logger, "Iteration {}", val);
assertEquals("Iteration 42", capture.getMessage());
}
/**
* Test LogSF.info with single field pattern with byte argument.
*/
public void testInfoByte() {
LogCapture capture = new LogCapture(Level.INFO);
byte val = 42;
LogSF.info(logger, "Iteration {}", val);
assertEquals("Iteration 42", capture.getMessage());
}
/**
* Test LogSF.info with single field pattern with short argument.
*/
public void testInfoShort() {
LogCapture capture = new LogCapture(Level.INFO);
short val = 42;
LogSF.info(logger, "Iteration {}", val);
assertEquals("Iteration 42", capture.getMessage());
}
/**
* Test LogSF.info with single field pattern with long argument.
*/
public void testInfoLong() {
LogCapture capture = new LogCapture(Level.INFO);
long val = 42;
LogSF.info(logger, "Iteration {}", val);
assertEquals("Iteration 42", capture.getMessage());
}
/**
* Test LogSF.info with single field pattern with char argument.
*/
public void testInfoChar() {
LogCapture capture = new LogCapture(Level.INFO);
char val = 'C';
LogSF.info(logger, "Iteration {}", val);
assertEquals("Iteration C", capture.getMessage());
}
/**
* Test LogSF.info with single field pattern with boolean argument.
*/
public void testInfoBoolean() {
LogCapture capture = new LogCapture(Level.INFO);
boolean val = true;
LogSF.info(logger, "Iteration {}", val);
assertEquals("Iteration true", capture.getMessage());
}
/**
* Test LogSF.info with single field pattern with float argument.
*/
public void testInfoFloat() {
LogCapture capture = new LogCapture(Level.INFO);
float val = 3.14f;
LogSF.info(logger, "Iteration {}", val);
assertEquals("Iteration " + String.valueOf(val), capture.getMessage());
}
/**
* Test LogSF.info with single field pattern with double argument.
*/
public void testInfoDouble() {
LogCapture capture = new LogCapture(Level.INFO);
double val = 3.14;
LogSF.info(logger, "Iteration {}", val);
assertEquals("Iteration " + String.valueOf(val), capture.getMessage());
}
/**
* Test LogSF.info with two arguments.
*/
public void testInfoTwoArg() {
LogCapture capture = new LogCapture(Level.INFO);
LogSF.info(logger, "{}, {}.", "Hello", "World");
assertEquals("Hello, World.", capture.getMessage());
}
/**
* Test LogSF.info with three arguments.
*/
public void testInfoThreeArg() {
LogCapture capture = new LogCapture(Level.INFO);
LogSF.info(logger, "{}{} {}.", "Hello", ",", "World");
assertEquals("Hello, World.", capture.getMessage());
}
/**
* Test LogSF.info with Object[] argument.
*/
public void testInfoArrayArg() {
LogCapture capture = new LogCapture(Level.INFO);
Object[] args = new Object[] { "Hello", ",", "World", "." };
LogSF.info(logger, "{}{} {}{}", args);
assertEquals("Hello, World.", capture.getMessage());
}
/**
* Test LogSF.warn with null pattern.
*/
public void testWarnNullPattern() {
LogCapture capture = new LogCapture(Level.WARN);
LogSF.warn(logger, null, Math.PI);
assertNull(capture.getMessage());
}
/**
* Test LogSF.warn with no-field pattern.
*/
public void testWarnNoArg() {
LogCapture capture = new LogCapture(Level.WARN);
LogSF.warn(logger, "Hello, World", Math.PI);
assertEquals("Hello, World", capture.getMessage());
}
/**
* Test LogSF.warn with malformed pattern.
*/
public void testWarnBadPattern() {
LogCapture capture = new LogCapture(Level.WARN);
LogSF.warn(logger, "Hello, {.", Math.PI);
assertEquals("Hello, {.", capture.getMessage());
}
/**
* Test LogSF.warn with missing argument.
*/
public void testWarnMissingArg() {
LogCapture capture = new LogCapture(Level.WARN);
LogSF.warn(logger, "Hello, {}World", new Object[0]);
assertEquals("Hello, {}World", capture.getMessage());
}
/**
* Test LogSF.warn with single field pattern with string argument.
*/
public void testWarnString() {
LogCapture capture = new LogCapture(Level.WARN);
LogSF.warn(logger, "Hello, {}", "World");
assertEquals("Hello, World", capture.getMessage());
}
/**
* Test LogSF.warn with single field pattern with null argument.
*/
public void testWarnNull() {
LogCapture capture = new LogCapture(Level.WARN);
LogSF.warn(logger, "Hello, {}", (Object) null);
assertEquals("Hello, null", capture.getMessage());
}
/**
* Test LogSF.warn with single field pattern with int argument.
*/
public void testWarnInt() {
LogCapture capture = new LogCapture(Level.WARN);
int val = 42;
LogSF.warn(logger, "Iteration {}", val);
assertEquals("Iteration 42", capture.getMessage());
}
/**
* Test LogSF.warn with single field pattern with byte argument.
*/
public void testWarnByte() {
LogCapture capture = new LogCapture(Level.WARN);
byte val = 42;
LogSF.warn(logger, "Iteration {}", val);
assertEquals("Iteration 42", capture.getMessage());
}
/**
* Test LogSF.warn with single field pattern with short argument.
*/
public void testWarnShort() {
LogCapture capture = new LogCapture(Level.WARN);
short val = 42;
LogSF.warn(logger, "Iteration {}", val);
assertEquals("Iteration 42", capture.getMessage());
}
/**
* Test LogSF.warn with single field pattern with long argument.
*/
public void testWarnLong() {
LogCapture capture = new LogCapture(Level.WARN);
long val = 42;
LogSF.warn(logger, "Iteration {}", val);
assertEquals("Iteration 42", capture.getMessage());
}
/**
* Test LogSF.warn with single field pattern with char argument.
*/
public void testWarnChar() {
LogCapture capture = new LogCapture(Level.WARN);
char val = 'C';
LogSF.warn(logger, "Iteration {}", val);
assertEquals("Iteration C", capture.getMessage());
}
/**
* Test LogSF.warn with single field pattern with boolean argument.
*/
public void testWarnBoolean() {
LogCapture capture = new LogCapture(Level.WARN);
boolean val = true;
LogSF.warn(logger, "Iteration {}", val);
assertEquals("Iteration true", capture.getMessage());
}
/**
* Test LogSF.warn with single field pattern with float argument.
*/
public void testWarnFloat() {
LogCapture capture = new LogCapture(Level.WARN);
float val = 3.14f;
LogSF.warn(logger, "Iteration {}", val);
assertEquals("Iteration " + String.valueOf(val), capture.getMessage());
}
/**
* Test LogSF.warn with single field pattern with double argument.
*/
public void testWarnDouble() {
LogCapture capture = new LogCapture(Level.WARN);
double val = 3.14;
LogSF.warn(logger, "Iteration {}", val);
assertEquals("Iteration " + String.valueOf(val), capture.getMessage());
}
/**
* Test LogSF.warn with two arguments.
*/
public void testWarnTwoArg() {
LogCapture capture = new LogCapture(Level.WARN);
LogSF.warn(logger, "{}, {}.", "Hello", "World");
assertEquals("Hello, World.", capture.getMessage());
}
/**
* Test LogSF.warn with three arguments.
*/
public void testWarnThreeArg() {
LogCapture capture = new LogCapture(Level.WARN);
LogSF.warn(logger, "{}{} {}.", "Hello", ",", "World");
assertEquals("Hello, World.", capture.getMessage());
}
/**
* Test LogSF.warn with Object[] argument.
*/
public void testWarnFourArg() {
LogCapture capture = new LogCapture(Level.WARN);
LogSF.warn(logger, "{}{} {}{}",
"Hello", ",", "World", "." );
assertEquals("Hello, World.", capture.getMessage());
}
/**
* Test LogSF.warn with Object[] argument.
*/
public void testWarnArrayArg() {
LogCapture capture = new LogCapture(Level.WARN);
Object[] args = new Object[] { "Hello", ",", "World", "." };
LogSF.warn(logger, "{}{} {}{}", args);
assertEquals("Hello, World.", capture.getMessage());
}
/**
* Test LogSF.log with null pattern.
*/
public void testLogNullPattern() {
LogCapture capture = new LogCapture(Level.ERROR);
LogSF.log(logger, Level.ERROR, null, Math.PI);
assertNull(capture.getMessage());
}
/**
* Test LogSF.log with no-field pattern.
*/
public void testLogNoArg() {
LogCapture capture = new LogCapture(Level.ERROR);
LogSF.log(logger, Level.ERROR, "Hello, World", Math.PI);
assertEquals("Hello, World", capture.getMessage());
}
/**
* Test LogSF.log with malformed pattern.
*/
public void testLogBadPattern() {
LogCapture capture = new LogCapture(Level.ERROR);
LogSF.log(logger, Level.ERROR, "Hello, {.", Math.PI);
assertEquals("Hello, {.", capture.getMessage());
}
/**
* Test LogSF.log with missing argument.
*/
public void testLogMissingArg() {
LogCapture capture = new LogCapture(Level.ERROR);
LogSF.log(logger, Level.ERROR, "Hello, {}World", new Object[0]);
assertEquals("Hello, {}World", capture.getMessage());
}
/**
* Test LogSF.log with single field pattern with string argument.
*/
public void testLogString() {
LogCapture capture = new LogCapture(Level.ERROR);
LogSF.log(logger, Level.ERROR, "Hello, {}", "World");
assertEquals("Hello, World", capture.getMessage());
}
/**
* Test LogSF.log with single field pattern with null argument.
*/
public void testLogNull() {
LogCapture capture = new LogCapture(Level.ERROR);
LogSF.log(logger, Level.ERROR, "Hello, {}", (Object) null);
assertEquals("Hello, null", capture.getMessage());
}
/**
* Test LogSF.log with single field pattern with int argument.
*/
public void testLogInt() {
LogCapture capture = new LogCapture(Level.ERROR);
int val = 42;
LogSF.log(logger, Level.ERROR, "Iteration {}", val);
assertEquals("Iteration 42", capture.getMessage());
}
/**
* Test LogSF.log with single field pattern with byte argument.
*/
public void testLogByte() {
LogCapture capture = new LogCapture(Level.ERROR);
byte val = 42;
LogSF.log(logger, Level.ERROR, "Iteration {}", val);
assertEquals("Iteration 42", capture.getMessage());
}
/**
* Test LogSF.log with single field pattern with short argument.
*/
public void testLogShort() {
LogCapture capture = new LogCapture(Level.ERROR);
short val = 42;
LogSF.log(logger, Level.ERROR, "Iteration {}", val);
assertEquals("Iteration 42", capture.getMessage());
}
/**
* Test LogSF.log with single field pattern with long argument.
*/
public void testLogLong() {
LogCapture capture = new LogCapture(Level.ERROR);
long val = 42;
LogSF.log(logger, Level.ERROR, "Iteration {}", val);
assertEquals("Iteration 42", capture.getMessage());
}
/**
* Test LogSF.log with single field pattern with char argument.
*/
public void testLogChar() {
LogCapture capture = new LogCapture(Level.ERROR);
char val = 'C';
LogSF.log(logger, Level.ERROR, "Iteration {}", val);
assertEquals("Iteration C", capture.getMessage());
}
/**
* Test LogSF.log with single field pattern with boolean argument.
*/
public void testLogBoolean() {
LogCapture capture = new LogCapture(Level.ERROR);
boolean val = true;
LogSF.log(logger, Level.ERROR, "Iteration {}", val);
assertEquals("Iteration true", capture.getMessage());
}
/**
* Test LogSF.log with single field pattern with float argument.
*/
public void testLogFloat() {
LogCapture capture = new LogCapture(Level.ERROR);
LogSF.log(logger, Level.ERROR, "Iteration {}", (float) Math.PI);
String expected = "Iteration " + String.valueOf(new Float(Math.PI));
assertEquals(expected, capture.getMessage());
}
/**
* Test LogSF.log with single field pattern with double argument.
*/
public void testLogDouble() {
LogCapture capture = new LogCapture(Level.ERROR);
LogSF.log(logger, Level.ERROR, "Iteration {}", Math.PI);
String expected = "Iteration " + String.valueOf(new Double(Math.PI));
assertEquals(expected, capture.getMessage());
}
/**
* Test LogSF.log with two arguments.
*/
public void testLogTwoArg() {
LogCapture capture = new LogCapture(Level.ERROR);
LogSF.log(logger, Level.ERROR, "{}, {}.", "Hello", "World");
assertEquals("Hello, World.", capture.getMessage());
}
/**
* Test LogSF.log with three arguments.
*/
public void testLogThreeArg() {
LogCapture capture = new LogCapture(Level.ERROR);
LogSF.log(logger, Level.ERROR, "{}{} {}.", "Hello", ",", "World");
assertEquals("Hello, World.", capture.getMessage());
}
/**
* Test LogSF.log with four arguments.
*/
public void testLogFourArg() {
LogCapture capture = new LogCapture(Level.ERROR);
LogSF.log(logger, Level.ERROR, "{}{} {}{}", "Hello", ",", "World", ".");
assertEquals("Hello, World.", capture.getMessage());
}
/**
* Test LogSF.log with Object[] argument.
*/
public void testLogArrayArg() {
LogCapture capture = new LogCapture(Level.ERROR);
Object[] args = new Object[] { "Hello", ",", "World", "." };
LogSF.log(logger, Level.ERROR, "{}{} {}{}", args);
assertEquals("Hello, World.", capture.getMessage());
}
/**
* Bundle name for resource bundle tests.
*/
private static final String BUNDLE_NAME =
"org.apache.log4j.TestLogSFPatterns";
/**
* Test LogSF.logrb with null bundle name.
*/
public void testLogrbNullBundle() {
LogCapture capture = new LogCapture(Level.ERROR);
LogSF.logrb(logger, Level.ERROR, null, "Iteration0", Math.PI);
assertEquals("Iteration0", capture.getMessage());
}
/**
* Test LogSF.logrb with null key.
*/
public void testLogrbNullKey() {
LogCapture capture = new LogCapture(Level.ERROR);
LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, null, Math.PI);
assertNull(capture.getMessage());
}
/**
* Test LogSF.logrb with no-field pattern.
*/
public void testLogrbNoArg() {
LogCapture capture = new LogCapture(Level.ERROR);
LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Hello1", Math.PI);
assertEquals("Hello, World", capture.getMessage());
}
/**
* Test LogSF.logrb with malformed pattern.
*/
public void testLogrbBadPattern() {
LogCapture capture = new LogCapture(Level.ERROR);
LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Malformed", Math.PI);
assertEquals("Hello, {.", capture.getMessage());
}
/**
* Test LogSF.logrb with missing argument.
*/
public void testLogrbMissingArg() {
LogCapture capture = new LogCapture(Level.ERROR);
LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Hello2", new Object[0]);
assertEquals("Hello, {}World", capture.getMessage());
}
/**
* Test LogSF.logrb with single field pattern with string argument.
*/
public void testLogrbString() {
LogCapture capture = new LogCapture(Level.ERROR);
LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Hello3", "World");
assertEquals("Hello, World", capture.getMessage());
}
/**
* Test LogSF.logrb with single field pattern with null argument.
*/
public void testLogrbNull() {
LogCapture capture = new LogCapture(Level.ERROR);
LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Hello3", (Object) null);
assertEquals("Hello, null", capture.getMessage());
}
/**
* Test LogSF.logrb with single field pattern with int argument.
*/
public void testLogrbInt() {
LogCapture capture = new LogCapture(Level.ERROR);
int val = 42;
LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Iteration0", val);
assertEquals("Iteration 42", capture.getMessage());
}
/**
* Test LogSF.logrb with single field pattern with byte argument.
*/
public void testLogrbByte() {
LogCapture capture = new LogCapture(Level.ERROR);
byte val = 42;
LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Iteration0", val);
assertEquals("Iteration 42", capture.getMessage());
}
/**
* Test LogSF.logrb with single field pattern with short argument.
*/
public void testLogrbShort() {
LogCapture capture = new LogCapture(Level.ERROR);
short val = 42;
LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Iteration0", val);
assertEquals("Iteration 42", capture.getMessage());
}
/**
* Test LogSF.logrb with single field pattern with long argument.
*/
public void testLogrbLong() {
LogCapture capture = new LogCapture(Level.ERROR);
long val = 42;
LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Iteration0", val);
assertEquals("Iteration 42", capture.getMessage());
}
/**
* Test LogSF.logrb with single field pattern with char argument.
*/
public void testLogrbChar() {
LogCapture capture = new LogCapture(Level.ERROR);
char val = 'C';
LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Iteration0", val);
assertEquals("Iteration C", capture.getMessage());
}
/**
* Test LogSF.logrb with single field pattern with boolean argument.
*/
public void testLogrbBoolean() {
LogCapture capture = new LogCapture(Level.ERROR);
boolean val = true;
LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Iteration0", val);
assertEquals("Iteration true", capture.getMessage());
}
/**
* Test LogSF.logrb with single field pattern with float argument.
*/
public void testLogrbFloat() {
LogCapture capture = new LogCapture(Level.ERROR);
LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME,
"Iteration0", (float) Math.PI);
String expected = "Iteration " + String.valueOf(new Float(Math.PI));
assertEquals(expected, capture.getMessage());
}
/**
* Test LogSF.logrb with single field pattern with double argument.
*/
public void testLogrbDouble() {
LogCapture capture = new LogCapture(Level.ERROR);
LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Iteration0", Math.PI);
String expected = "Iteration " + String.valueOf(new Double(Math.PI));
assertEquals(expected, capture.getMessage());
}
/**
* Test LogSF.logrb with two arguments.
*/
public void testLogrbTwoArg() {
LogCapture capture = new LogCapture(Level.ERROR);
LogSF.logrb(logger, Level.ERROR,
BUNDLE_NAME, "Hello4", "Hello", "World");
assertEquals("Hello, World.", capture.getMessage());
}
/**
* Test LogSF.logrb with three arguments.
*/
public void testLogrbThreeArg() {
LogCapture capture = new LogCapture(Level.ERROR);
LogSF.logrb(logger, Level.ERROR,
BUNDLE_NAME, "Hello5", "Hello", ",", "World");
assertEquals("Hello, World.", capture.getMessage());
}
/**
* Test LogSF.logrb with four arguments.
*/
public void testLogrbFourArg() {
LogCapture capture = new LogCapture(Level.ERROR);
LogSF.logrb(logger, Level.ERROR,
BUNDLE_NAME, "Hello6", "Hello", ",", "World", ".");
assertEquals("Hello, World.", capture.getMessage());
}
/**
* Test LogSF.logrb with Object[] argument.
*/
public void testLogrbArrayArg() {
LogCapture capture = new LogCapture(Level.ERROR);
Object[] args = new Object[] { "Hello", ",", "World", "." };
LogSF.logrb(logger, Level.ERROR,
BUNDLE_NAME, "Hello6", args);
assertEquals("Hello, World.", capture.getMessage());
}
/**
* Test \\{ escape sequence when only one parameter is present.
*
*/
public void testEscapeOneParam() {
LogCapture capture = new LogCapture(Level.INFO);
LogSF.info(logger, "\\{}\\{{}}, World}\\{","Hello");
assertEquals("{}{Hello}, World}{", capture.getMessage());
}
/**
* Test \\{ escape sequence when more than one parameter is present.
*
*/
public void testEscapeTwoParam() {
LogCapture capture = new LogCapture(Level.INFO);
LogSF.info(logger, "\\{}\\{{}}, {}}{}\\{","Hello", "World");
assertEquals("{}{Hello}, World}{}{", capture.getMessage());
}
}