blob: 03083aef02b438ca82a73d130286d9613438f492 [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.harmony.logging.tests.java.util.logging;
import junit.framework.TestCase;
import org.apache.harmony.logging.tests.java.util.logging.util.EnvironmentHelper;
import java.io.InputStream;
import java.util.Arrays;
import java.util.Enumeration;
import java.util.Locale;
import java.util.MissingResourceException;
import java.util.Properties;
import java.util.ResourceBundle;
import java.util.function.Supplier;
import java.util.logging.Filter;
import java.util.logging.Handler;
import java.util.logging.Level;
import java.util.logging.LogManager;
import java.util.logging.LogRecord;
import java.util.logging.Logger;
import tests.util.CallVerificationStack;
/**
* Test suite for the class java.util.logging.Logger.
*/
public class LoggerTest extends TestCase {
private final static String VALID_RESOURCE_BUNDLE = "bundles/com/android/java/util/logging/res";
private final static String VALID_RESOURCE_BUNDLE2 =
"bundles/com/android/java/util/logging/res2";
private final static String VALID_RESOURCE_BUNDLE3 =
"bundles/com/android/java/util/logging/res3";
private final static String INVALID_RESOURCE_BUNDLE = "impossible_not_existing";
private final static String LOGGING_CONFIG_RESOURCE =
"config/com/android/java/util/logging/logging.config";
private final static String VALID_KEY = "LOGGERTEST";
private final static String VALID_VALUE = "Test_ZH_CN";
private final static String VALID_VALUE2 = "Test_NoLocale2";
private Logger sharedLogger = null;
private Locale oldLocale = null;
/*
* @see TestCase#setUp()
*/
protected void setUp() throws Exception {
super.setUp();
oldLocale = Locale.getDefault();
Locale.setDefault(new Locale("zh", "CN"));
sharedLogger = new MockLogger("SharedLogger", VALID_RESOURCE_BUNDLE);
sharedLogger.addHandler(new MockHandler());
}
/*
* Reset the log manager.
*/
protected void tearDown() throws Exception {
CallVerificationStack.getInstance().clear();
Locale.setDefault(oldLocale);
super.tearDown();
}
/**
* Constructor for LoggerTest.
*
* @param arg0
*/
public LoggerTest(String arg0) {
super(arg0);
}
/*
* Test the global logger
*/
public void testGlobalLogger() {
assertNull(Logger.global.getFilter());
assertEquals(0, Logger.global.getHandlers().length);
assertNull(Logger.global.getLevel());
assertEquals("global", Logger.global.getName());
assertNull(Logger.global.getParent().getParent());
assertNull(Logger.global.getResourceBundle());
assertNull(Logger.global.getResourceBundleName());
assertTrue(Logger.global.getUseParentHandlers());
assertSame(Logger.global, Logger.getLogger("global"));
assertSame(Logger.global, LogManager.getLogManager()
.getLogger("global"));
}
/*
* Test constructor under normal conditions.
*
* TODO: using a series of class loaders to load resource bundles
*/
public void testConstructor_Normal() {
MockLogger mlog = new MockLogger("myname", VALID_RESOURCE_BUNDLE);
assertNull(mlog.getFilter());
assertEquals(0, mlog.getHandlers().length);
assertNull(mlog.getLevel());
assertEquals("myname", mlog.getName());
assertNull(mlog.getParent());
ResourceBundle rb = mlog.getResourceBundle();
assertEquals(VALID_VALUE, rb.getString(VALID_KEY));
assertEquals(mlog.getResourceBundleName(), VALID_RESOURCE_BUNDLE);
assertTrue(mlog.getUseParentHandlers());
}
/*
* Test constructor with null parameters.
*/
public void testConstructor_Null() {
MockLogger mlog = new MockLogger(null, null);
assertNull(mlog.getFilter());
assertEquals(0, mlog.getHandlers().length);
assertNull(mlog.getLevel());
assertNull(mlog.getName());
assertNull(mlog.getParent());
assertNull(mlog.getResourceBundle());
assertNull(mlog.getResourceBundleName());
assertTrue(mlog.getUseParentHandlers());
}
/*
* Test constructor with invalid name.
*/
public void testConstructor_InvalidName() {
MockLogger mlog = new MockLogger("...#$%%^&&()-_+=!@~./,[]{};:'\\\"?|",
null);
assertEquals("...#$%%^&&()-_+=!@~./,[]{};:'\\\"?|", mlog.getName());
}
/*
* Test constructor with empty name.
*/
public void testConstructor_EmptyName() {
MockLogger mlog = new MockLogger("", null);
assertEquals("", mlog.getName());
}
/*
* Test constructor with invalid resource bundle name.
*/
public void testConstructor_InvalidResourceBundle() {
try {
new MockLogger(null, INVALID_RESOURCE_BUNDLE);
fail("Should throw MissingResourceException!");
} catch (MissingResourceException e) {
}
// try empty string
try {
new MockLogger(null, "");
fail("Should throw MissingResourceException!");
} catch (MissingResourceException e) {
}
}
/*
* Test getAnonymousLogger(String resourceBundleName) with valid resource
* bundle.
*/
public void testGetAnonymousLogger_ValidResourceBundle() {
Logger alog = Logger.getAnonymousLogger(VALID_RESOURCE_BUNDLE);
assertNotSame(alog, Logger.getAnonymousLogger(VALID_RESOURCE_BUNDLE));
assertNull(alog.getFilter());
assertEquals(0, alog.getHandlers().length);
assertNull(alog.getLevel());
assertNull(alog.getName());
assertNull(alog.getParent().getParent());
assertEquals(VALID_VALUE, alog.getResourceBundle().getString(VALID_KEY));
assertEquals(alog.getResourceBundleName(), VALID_RESOURCE_BUNDLE);
assertTrue(alog.getUseParentHandlers());
}
/*
* Test getAnonymousLogger(String resourceBundleName) with null resource
* bundle.
*/
public void testGetAnonymousLogger_NullResourceBundle() {
Logger alog = Logger.getAnonymousLogger(null);
assertNotSame(alog, Logger.getAnonymousLogger(null));
assertNull(alog.getFilter());
assertEquals(0, alog.getHandlers().length);
assertNull(alog.getLevel());
assertNull(alog.getName());
assertNull(alog.getParent().getParent());
assertNull(alog.getResourceBundle());
assertNull(alog.getResourceBundleName());
assertTrue(alog.getUseParentHandlers());
}
/*
* Test getAnonymousLogger(String resourceBundleName) with invalid resource
* bundle.
*/
public void testGetAnonymousLogger_InvalidResourceBundle() {
try {
Logger.getAnonymousLogger(INVALID_RESOURCE_BUNDLE);
fail("Should throw MissingResourceException!");
} catch (MissingResourceException e) {
}
// try empty name
try {
Logger.getAnonymousLogger("");
fail("Should throw MissingResourceException!");
} catch (MissingResourceException e) {
}
}
/*
* Test getLogger(String), getting a logger with no parent.
*/
public void testGetLogger_Normal() throws Exception {
// config the level
Properties p = new Properties();
p.put("testGetLogger_Normal_ANewLogger.level", "ALL");
LogManager.getLogManager().readConfiguration(
EnvironmentHelper.PropertiesToInputStream(p));
assertNull(LogManager.getLogManager().getLogger(
"testGetLogger_Normal_ANewLogger"));
// create a new logger
Logger log = Logger.getLogger("testGetLogger_Normal_ANewLogger");
// get an existing logger
assertSame(log, Logger.getLogger("testGetLogger_Normal_ANewLogger"));
// check it has been registered
assertSame(log, LogManager.getLogManager().getLogger(
"testGetLogger_Normal_ANewLogger"));
assertNull(log.getFilter());
assertEquals(0, log.getHandlers().length);
// check it's set to the preconfigured level
assertSame(Level.ALL, log.getLevel());
assertEquals("testGetLogger_Normal_ANewLogger", log.getName());
assertNull(log.getParent().getParent());
assertNull(log.getResourceBundle());
assertNull(log.getResourceBundleName());
assertTrue(log.getUseParentHandlers());
}
/*
* Test getLogger(String), getting a logger with invalid level configured.
*/
public void testGetLogger_InvalidLevel() throws Exception {
// config the level
Properties p = new Properties();
p
.put("testGetLogger_InvalidLevel_ANewLogger.level",
"impossible_level");
LogManager.getLogManager().readConfiguration(
EnvironmentHelper.PropertiesToInputStream(p));
assertNull(LogManager.getLogManager().getLogger(
"testGetLogger_InvalidLevel_ANewLogger"));
// create a new logger
Logger log = Logger.getLogger("testGetLogger_InvalidLevel_ANewLogger");
// get an existing logger
assertSame(log, Logger
.getLogger("testGetLogger_InvalidLevel_ANewLogger"));
// check it has been registered
assertSame(log, LogManager.getLogManager().getLogger(
"testGetLogger_InvalidLevel_ANewLogger"));
assertNull(log.getLevel());
}
/*
* Test getLogger(String) with null name.
*/
public void testGetLogger_Null() {
try {
Logger.getLogger(null);
fail("Should throw NullPointerException!");
} catch (NullPointerException e) {
}
Logger logger = Logger.getLogger("", null);
assertNull(logger.getResourceBundleName());
assertNull(logger.getResourceBundle());
}
/*
* Test getLogger(String) with invalid name.
*/
public void testGetLogger_Invalid() {
Logger log = Logger.getLogger("...#$%%^&&()-_+=!@~./,[]{};:'\\\"?|");
assertEquals("...#$%%^&&()-_+=!@~./,[]{};:'\\\"?|", log.getName());
}
/*
* Test getLogger(String) with empty name.
*/
public void testGetLogger_Empty() {
assertNotNull(LogManager.getLogManager().getLogger(""));
Logger log = Logger.getLogger("");
assertSame(log, LogManager.getLogManager().getLogger(""));
assertNull(log.getFilter());
assertEquals(0, log.getHandlers().length);
// check it's set to the preconfigured level
assertSame(Level.INFO, log.getLevel());
assertEquals("", log.getName());
assertNull(log.getParent());
assertNull(log.getResourceBundle());
assertNull(log.getResourceBundleName());
assertTrue(log.getUseParentHandlers());
}
/*
* Test getLogger(String), getting a logger with existing parent.
*/
public void testGetLogger_WithParentNormal() {
assertNull(LogManager.getLogManager().getLogger(
"testGetLogger_WithParent_ParentLogger"));
// create the parent logger
Logger pLog = Logger.getLogger("testGetLogger_WithParent_ParentLogger",
VALID_RESOURCE_BUNDLE);
pLog.setLevel(Level.CONFIG);
pLog.addHandler(new MockHandler());
pLog.setFilter(new MockFilter());
pLog.setUseParentHandlers(false);
assertNull(LogManager.getLogManager().getLogger(
"testGetLogger_WithParent_ParentLogger.child"));
// create the child logger
Logger log = Logger
.getLogger("testGetLogger_WithParent_ParentLogger.child");
assertNull(log.getFilter());
assertEquals(0, log.getHandlers().length);
assertNull(log.getLevel());
assertEquals("testGetLogger_WithParent_ParentLogger.child", log
.getName());
assertSame(log.getParent(), pLog);
assertNull(log.getResourceBundle());
assertNull(log.getResourceBundleName());
assertTrue(log.getUseParentHandlers());
}
// /*
// * Test getLogger(String), getting a logger with existing parent, using
// * abnormal names (containing '.').
// */
// public void testGetLogger_WithParentAbnormal() {
// Logger log = Logger.getLogger(".");
// assertSame(log.getParent(), Logger.getLogger(""));
// Logger log2 = Logger.getLogger("..");
// assertSame(log2.getParent(), Logger.getLogger(""));
// //TODO: a lot more can be tested
// }
/*
* Test getLogger(String, String), getting a logger with no parent.
*/
public void testGetLoggerWithRes_Normal() throws Exception {
// config the level
Properties p = new Properties();
p.put("testGetLoggerWithRes_Normal_ANewLogger.level", "ALL");
LogManager.getLogManager().readConfiguration(
EnvironmentHelper.PropertiesToInputStream(p));
assertNull(LogManager.getLogManager().getLogger(
"testGetLoggerWithRes_Normal_ANewLogger"));
// create a new logger
Logger log = Logger.getLogger("testGetLoggerWithRes_Normal_ANewLogger",
VALID_RESOURCE_BUNDLE);
// get an existing logger
assertSame(log, Logger
.getLogger("testGetLoggerWithRes_Normal_ANewLogger"));
// check it has been registered
assertSame(log, LogManager.getLogManager().getLogger(
"testGetLoggerWithRes_Normal_ANewLogger"));
assertNull(log.getFilter());
assertEquals(0, log.getHandlers().length);
// check it's set to the preconfigured level
assertSame(Level.ALL, log.getLevel());
assertEquals("testGetLoggerWithRes_Normal_ANewLogger", log.getName());
assertNull(log.getParent().getParent());
assertEquals(VALID_VALUE, log.getResourceBundle().getString(VALID_KEY));
assertEquals(log.getResourceBundleName(), VALID_RESOURCE_BUNDLE);
assertTrue(log.getUseParentHandlers());
}
/*
* Test getLogger(String, String) with null parameters.
*/
public void testGetLoggerWithRes_Null() {
Logger.getLogger("testGetLoggerWithRes_Null_ANewLogger", null);
try {
Logger.getLogger(null, VALID_RESOURCE_BUNDLE);
fail("Should throw NullPointerException!");
} catch (NullPointerException e) {
}
}
/*
* Test getLogger(String, String) with invalid resource bundle.
*/
public void testGetLoggerWithRes_InvalidRes() {
try {
Logger.getLogger("", INVALID_RESOURCE_BUNDLE);
fail("Should throw MissingResourceException!");
} catch (MissingResourceException e) {
}
assertNull(Logger.getLogger("").getResourceBundle());
assertNull(Logger.getLogger("").getResourceBundleName());
// try empty string
try {
Logger.getLogger("", "");
fail("Should throw MissingResourceException!");
} catch (MissingResourceException e) {
}
}
/*
* Test getLogger(String, String) with valid resource bundle, to get an
* existing logger with no associated resource bundle.
*/
public void testGetLoggerWithRes_ExistingLoggerWithNoRes() {
assertNull(LogManager.getLogManager().getLogger(
"testGetLoggerWithRes_ExistingLoggerWithNoRes_ANewLogger"));
// create a new logger
Logger log1 = Logger
.getLogger("testGetLoggerWithRes_ExistingLoggerWithNoRes_ANewLogger");
// get an existing logger
Logger log2 = Logger.getLogger(
"testGetLoggerWithRes_ExistingLoggerWithNoRes_ANewLogger",
VALID_RESOURCE_BUNDLE);
assertSame(log1, log2);
assertEquals(VALID_VALUE, log1.getResourceBundle().getString(VALID_KEY));
assertEquals(log1.getResourceBundleName(), VALID_RESOURCE_BUNDLE);
}
/*
* Test getLogger(String, String) with valid resource bundle, to get an
* existing logger with the same associated resource bundle.
*/
public void testGetLoggerWithRes_ExistingLoggerWithSameRes() {
assertNull(LogManager.getLogManager().getLogger(
"testGetLoggerWithRes_ExistingLoggerWithSameRes_ANewLogger"));
// create a new logger
Logger log1 = Logger.getLogger(
"testGetLoggerWithRes_ExistingLoggerWithSameRes_ANewLogger",
VALID_RESOURCE_BUNDLE);
// get an existing logger
Logger log2 = Logger.getLogger(
"testGetLoggerWithRes_ExistingLoggerWithSameRes_ANewLogger",
VALID_RESOURCE_BUNDLE);
assertSame(log1, log2);
assertEquals(VALID_VALUE, log1.getResourceBundle().getString(VALID_KEY));
assertEquals(log1.getResourceBundleName(), VALID_RESOURCE_BUNDLE);
}
/*
* Test getLogger(String, String) with valid resource bundle, to get an
* existing logger with different associated resource bundle.
*/
public void testGetLoggerWithRes_ExistingLoggerWithDiffRes() {
assertNull(LogManager.getLogManager().getLogger(
"testGetLoggerWithRes_ExistingLoggerWithDiffRes_ANewLogger"));
// create a new logger
Logger log1 = Logger.getLogger(
"testGetLoggerWithRes_ExistingLoggerWithDiffRes_ANewLogger",
VALID_RESOURCE_BUNDLE);
assertNotNull(log1);
// get an existing logger
try {
Logger.getLogger("testGetLoggerWithRes_ExistingLoggerWithDiffRes_ANewLogger",
VALID_RESOURCE_BUNDLE2);
fail("Should throw IllegalArgumentException!");
} catch (IllegalArgumentException e) {
}
try {
Logger.getLogger("testGetLoggerWithRes_ExistingLoggerWithDiffRes_ANewLogger", null);
fail("Should throw IllegalArgumentException!");
} catch (IllegalArgumentException e) {
}
}
/*
* Test getLogger(String, String) with invalid name.
*/
public void testGetLoggerWithRes_InvalidName() {
Logger log = Logger.getLogger(
"...#$%%^&&()-_+=!@~./,[]{};:'\\\"?|WithRes",
VALID_RESOURCE_BUNDLE);
assertEquals("...#$%%^&&()-_+=!@~./,[]{};:'\\\"?|WithRes", log
.getName());
}
/*
* Test getLogger(String, String) with empty name.
*/
public void testGetLoggerWithRes_Empty() {
Logger log = Logger.getLogger("", VALID_RESOURCE_BUNDLE);
assertSame(log, LogManager.getLogManager().getLogger(""));
assertNull(log.getFilter());
assertEquals(0, log.getHandlers().length);
// check it's set to the preconfigured level
assertSame(Level.INFO, log.getLevel());
assertEquals("", log.getName());
assertNull(log.getParent());
assertEquals(VALID_VALUE, log.getResourceBundle().getString(VALID_KEY));
assertEquals(log.getResourceBundleName(), VALID_RESOURCE_BUNDLE);
assertTrue(log.getUseParentHandlers());
}
/*
* Test getLogger(String, String), getting a logger with existing parent.
*/
public void testGetLoggerWithRes_WithParentNormal() {
assertNull(LogManager.getLogManager().getLogger(
"testGetLoggerWithRes_WithParent_ParentLogger"));
// create the parent logger
Logger pLog = Logger
.getLogger("testGetLoggerWithRes_WithParent_ParentLogger");
pLog.setLevel(Level.CONFIG);
pLog.addHandler(new MockHandler());
pLog.setFilter(new MockFilter());
pLog.setUseParentHandlers(false);
assertNull(LogManager.getLogManager().getLogger(
"testGetLoggerWithRes_WithParent_ParentLogger.child"));
// create the child logger
Logger log = Logger.getLogger(
"testGetLoggerWithRes_WithParent_ParentLogger.child",
VALID_RESOURCE_BUNDLE);
assertNull(log.getFilter());
assertEquals(0, log.getHandlers().length);
assertNull(log.getLevel());
assertEquals("testGetLoggerWithRes_WithParent_ParentLogger.child", log
.getName());
assertSame(log.getParent(), pLog);
assertEquals(VALID_VALUE, log.getResourceBundle().getString(VALID_KEY));
assertEquals(log.getResourceBundleName(), VALID_RESOURCE_BUNDLE);
assertTrue(log.getUseParentHandlers());
}
/*
* Test addHandler(Handler) for a named logger with sufficient privilege.
*/
public void testAddHandler_NamedLoggerSufficientPrivilege() {
Logger log = Logger
.getLogger("testAddHandler_NamedLoggerSufficientPrivilege");
MockHandler h = new MockHandler();
assertEquals(log.getHandlers().length, 0);
log.addHandler(h);
assertEquals(log.getHandlers().length, 1);
assertSame(log.getHandlers()[0], h);
}
/*
* Test addHandler(Handler) for a named logger with sufficient privilege,
* add duplicate handlers.
*/
public void testAddHandler_NamedLoggerSufficientPrivilegeDuplicate() {
Logger log = Logger
.getLogger("testAddHandler_NamedLoggerSufficientPrivilegeDuplicate");
MockHandler h = new MockHandler();
assertEquals(log.getHandlers().length, 0);
log.addHandler(h);
log.addHandler(h);
assertEquals(log.getHandlers().length, 2);
assertSame(log.getHandlers()[0], h);
assertSame(log.getHandlers()[1], h);
}
/*
* Test addHandler(Handler) with a null handler.
*/
public void testAddHandler_Null() {
Logger log = Logger.getLogger("testAddHandler_Null");
try {
log.addHandler(null);
fail("Should throw NullPointerException!");
} catch (NullPointerException e) {
}
assertEquals(log.getHandlers().length, 0);
}
/*
* Test addHandler(Handler) for an anonymous logger with sufficient
* privilege.
*/
public void testAddHandler_AnonyLoggerSufficientPrivilege() {
Logger log = Logger.getAnonymousLogger();
MockHandler h = new MockHandler();
assertEquals(log.getHandlers().length, 0);
log.addHandler(h);
assertEquals(log.getHandlers().length, 1);
assertSame(log.getHandlers()[0], h);
}
/*
* Test removeHandler(Handler) for a named logger with sufficient privilege,
* remove an existing handler.
*/
public void testRemoveHandler_NamedLoggerSufficientPrivilege() {
Logger log = Logger
.getLogger("testRemoveHandler_NamedLoggerSufficientPrivilege");
MockHandler h = new MockHandler();
log.addHandler(h);
assertEquals(log.getHandlers().length, 1);
log.removeHandler(h);
assertEquals(log.getHandlers().length, 0);
}
/*
* Test removeHandler(Handler) for a named logger with sufficient privilege,
* remove a non-existing handler.
*/
public void testRemoveHandler_NamedLoggerSufficientPrivilegeNotExisting() {
Logger log = Logger
.getLogger("testRemoveHandler_NamedLoggerSufficientPrivilegeNotExisting");
MockHandler h = new MockHandler();
assertEquals(log.getHandlers().length, 0);
log.removeHandler(h);
assertEquals(log.getHandlers().length, 0);
}
/*
* Test removeHandler(Handler) with a null handler.
*/
public void testRemoveHandler_Null() {
Logger log = Logger.getLogger("testRemoveHandler_Null");
log.removeHandler(null);
assertEquals(log.getHandlers().length, 0);
}
/*
* Test removeHandler(Handler) for an anonymous logger with sufficient
* privilege.
*/
public void testRemoveHandler_AnonyLoggerSufficientPrivilege() {
Logger log = Logger.getAnonymousLogger();
MockHandler h = new MockHandler();
log.addHandler(h);
assertEquals(log.getHandlers().length, 1);
log.removeHandler(h);
assertEquals(log.getHandlers().length, 0);
}
/*
* Test getHandlers() when there's no handler.
*/
public void testGetHandlers_None() {
Logger log = Logger.getLogger("testGetHandlers_None");
assertEquals(log.getHandlers().length, 0);
}
/*
* Test getHandlers() when there are several handlers.
*/
public void testGetHandlers_Several() {
Logger log = Logger.getLogger("testGetHandlers_None");
assertEquals(log.getHandlers().length, 0);
MockHandler h1 = new MockHandler();
MockHandler h2 = new MockHandler();
MockHandler h3 = new MockHandler();
log.addHandler(h1);
log.addHandler(h2);
log.addHandler(h3);
assertEquals(log.getHandlers().length, 3);
assertSame(log.getHandlers()[0], h1);
assertSame(log.getHandlers()[1], h2);
assertSame(log.getHandlers()[2], h3);
// remove one
log.removeHandler(h2);
assertEquals(log.getHandlers().length, 2);
assertSame(log.getHandlers()[0], h1);
assertSame(log.getHandlers()[1], h3);
}
/*
* Test getFilter & setFilter with normal value for a named logger, having
* sufficient privilege.
*/
public void testGetSetFilter_NamedLoggerSufficientPrivilege() {
Logger log = Logger
.getLogger("testGetSetFilter_NamedLoggerSufficientPrivilege");
Filter f = new MockFilter();
assertNull(log.getFilter());
log.setFilter(f);
assertSame(f, log.getFilter());
}
/*
* Test getFilter & setFilter with null value, having sufficient privilege.
*/
public void testGetSetFilter_Null() {
Logger log = Logger.getLogger("testGetSetFilter_Null");
assertNull(log.getFilter());
log.setFilter(null);
assertNull(log.getFilter());
log.setFilter(new MockFilter());
log.setFilter(null);
assertNull(log.getFilter());
}
/*
* Test setFilter for an anonymous logger with sufficient privilege.
*/
public void testSetFilter_AnonyLoggerSufficientPrivilege() {
Logger log = Logger.getAnonymousLogger();
Filter f = new MockFilter();
assertNull(log.getFilter());
log.setFilter(f);
assertSame(f, log.getFilter());
}
/*
* Test getLevel & setLevel with normal value for a named logger, having
* sufficient privilege.
*/
public void testGetSetLevel_NamedLoggerSufficientPrivilege() {
Logger log = Logger
.getLogger("testGetSetLevel_NamedLoggerSufficientPrivilege");
assertNull(log.getLevel());
log.setLevel(Level.CONFIG);
assertSame(Level.CONFIG, log.getLevel());
}
/*
* Test getLevel & setLevel with null value, having sufficient privilege.
*/
public void testGetSetLevel_Null() {
Logger log = Logger.getLogger("testGetSetLevel_Null");
assertNull(log.getLevel());
log.setLevel(null);
assertNull(log.getLevel());
log.setLevel(Level.CONFIG);
log.setLevel(null);
assertNull(log.getLevel());
}
/*
* Test setLevel for an anonymous logger with sufficient privilege.
*/
public void testSetLevel_AnonyLoggerSufficientPrivilege() {
Logger log = Logger.getAnonymousLogger();
assertNull(log.getLevel());
log.setLevel(Level.CONFIG);
assertSame(Level.CONFIG, log.getLevel());
}
/*
* Test getUseParentHandlers & setUseParentHandlers with normal value for a
* named logger, having sufficient privilege.
*/
public void testGetSetUseParentHandlers_NamedLoggerSufficientPrivilege() {
Logger log = Logger
.getLogger("testGetSetUseParentHandlers_NamedLoggerSufficientPrivilege");
assertTrue(log.getUseParentHandlers());
log.setUseParentHandlers(false);
assertFalse(log.getUseParentHandlers());
}
/*
* Test setUseParentHandlers for an anonymous logger with sufficient
* privilege.
*/
public void testSetUseParentHandlers_AnonyLoggerSufficientPrivilege() {
Logger log = Logger.getAnonymousLogger();
assertTrue(log.getUseParentHandlers());
log.setUseParentHandlers(false);
assertFalse(log.getUseParentHandlers());
}
/*
* Test getParent() for root logger.
*/
public void testGetParent_Root() {
assertNull(Logger.getLogger("").getParent());
}
/*
* Test getParent() for normal named loggers.
*/
public void testGetParent_NormalNamed() {
Logger log = Logger.getLogger("testGetParent_NormalNamed");
assertSame(log.getParent(), Logger.getLogger(""));
Logger child = Logger.getLogger("testGetParent_NormalNamed.child");
assertSame(child.getParent(), log);
Logger child2 = Logger.getLogger("testGetParent_NormalNamed.a.b.c");
assertSame(child2.getParent(), log);
}
/*
* Test getParent() for anonymous loggers.
*/
public void testGetParent_Anonymous() {
assertSame(Logger.getAnonymousLogger().getParent(), Logger
.getLogger(""));
}
/*
* Test setParent(Logger) for the mock logger since it is advised not to
* call this method on named loggers. Test normal conditions.
*/
public void testSetParent_Normal() {
Logger log = new MockLogger(null, null);
Logger parent = new MockLogger(null, null);
assertNull(log.getParent());
log.setParent(parent);
assertSame(log.getParent(), parent);
}
/*
* Test setParent(Logger) with null.
*/
public void testSetParent_Null() {
try {
(new MockLogger(null, null)).setParent(null);
fail("Should throw NullPointerException!");
} catch (NullPointerException e) {
}
}
/*
* Test getName() for normal names.
*/
public void testGetName_Normal() {
Logger log = Logger.getLogger("testGetName_Normal");
assertEquals("testGetName_Normal", log.getName());
Logger mlog = new MockLogger("testGetName_Normal", null);
assertEquals("testGetName_Normal", mlog.getName());
}
/*
* Test getName() for empty name.
*/
public void testGetName_Empty() {
Logger log = Logger.getLogger("");
assertEquals("", log.getName());
Logger mlog = new MockLogger("", null);
assertEquals("", mlog.getName());
}
/*
* Test getName() for null name.
*/
public void testGetName_Null() {
Logger log = Logger.getAnonymousLogger();
assertNull(log.getName());
Logger mlog = new MockLogger(null, null);
assertNull(mlog.getName());
}
/*
* Test getResourceBundle() when it it not null.
*/
public void testGetResourceBundle_Normal() {
Logger log = Logger.getLogger("testGetResourceBundle_Normal",
VALID_RESOURCE_BUNDLE);
assertEquals(VALID_VALUE, log.getResourceBundle().getString(VALID_KEY));
Logger mlog = new MockLogger(null, VALID_RESOURCE_BUNDLE);
assertEquals(VALID_VALUE, mlog.getResourceBundle().getString(VALID_KEY));
}
/*
* Test getResourceBundle() when it it null.
*/
public void testGetResourceBundle_Null() {
Logger log = Logger.getLogger("testGetResourceBundle_Null", null);
assertNull(log.getResourceBundle());
Logger mlog = new MockLogger(null, null);
assertNull(mlog.getResourceBundle());
}
/*
* Test getResourceBundleName() when it it not null.
*/
public void testGetResourceBundleName_Normal() {
Logger log = Logger.getLogger("testGetResourceBundleName_Normal",
VALID_RESOURCE_BUNDLE);
assertEquals(VALID_RESOURCE_BUNDLE, log.getResourceBundleName());
Logger mlog = new MockLogger(null, null);
assertNull(mlog.getResourceBundleName());
}
/*
* Test getResourceBundleName() when it it null.
*/
public void testGetResourceBundleName_Null() {
Logger log = Logger.getLogger("testGetResourceBundleName_Null", null);
assertNull(log.getResourceBundleName());
Logger mlog = new MockLogger(null, null);
assertNull(mlog.getResourceBundleName());
}
/*
* Test isLoggable(Level).
*/
public void testIsLoggable() {
MockLogger mlog = new MockLogger(null, null);
assertNull(mlog.getLevel());
assertNull(mlog.getParent());
assertTrue(mlog.isLoggable(Level.SEVERE));
assertTrue(mlog.isLoggable(Level.WARNING));
assertTrue(mlog.isLoggable(Level.INFO));
assertFalse(mlog.isLoggable(Level.CONFIG));
assertFalse(mlog.isLoggable(Level.FINE));
assertFalse(mlog.isLoggable(Level.ALL));
assertTrue(mlog.isLoggable(Level.OFF));
mlog.setLevel(Level.CONFIG);
assertTrue(mlog.isLoggable(Level.SEVERE));
assertTrue(mlog.isLoggable(Level.CONFIG));
assertFalse(mlog.isLoggable(Level.ALL));
assertTrue(mlog.isLoggable(Level.OFF));
mlog.setLevel(Level.ALL);
assertTrue(mlog.isLoggable(Level.ALL));
assertTrue(mlog.isLoggable(Level.SEVERE));
assertTrue(mlog.isLoggable(Level.OFF));
mlog.setLevel(Level.OFF);
assertFalse(mlog.isLoggable(Level.ALL));
assertFalse(mlog.isLoggable(Level.SEVERE));
assertFalse(mlog.isLoggable(Level.OFF));
}
/*
* Test throwing(String, String, Throwable) with normal values.
*/
public void testThrowing_Normal() {
Throwable t = new Throwable();
this.sharedLogger.setLevel(Level.FINER);
this.sharedLogger.throwing("sourceClass", "sourceMethod", t);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(), "THROW");
assertSame(r.getResourceBundleName(), this.sharedLogger
.getResourceBundleName());
assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle());
assertSame(r.getSourceClassName(), "sourceClass");
assertSame(r.getSourceMethodName(), "sourceMethod");
assertSame(r.getLevel(), Level.FINER);
assertSame(r.getParameters(), null);
assertSame(r.getThrown(), t);
this.sharedLogger.setLevel(Level.FINE);
this.sharedLogger.throwing("sourceClass", "sourceMethod", t);
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test throwing(String, String, Throwable) with null values.
*/
public void testThrowing_Null() {
Logger child = new MockLogger("childLogger", null);
Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2);
child.addHandler(new MockHandler());
child.setParent(parent);
child.setLevel(Level.FINER);
child.throwing(null, null, null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), child.getName());
assertEquals(r.getMessage(), "THROW");
assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
assertSame(r.getResourceBundle(), parent.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.FINER);
assertSame(r.getParameters(), null);
assertSame(r.getThrown(), null);
}
/*
* Test entering(String, String) with normal values.
*/
public void testEntering_StringString_Normal() {
this.sharedLogger.setLevel(Level.FINER);
this.sharedLogger.entering("sourceClass", "sourceMethod");
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(), "ENTRY");
assertSame(r.getResourceBundleName(), this.sharedLogger
.getResourceBundleName());
assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle());
assertSame(r.getSourceClassName(), "sourceClass");
assertSame(r.getSourceMethodName(), "sourceMethod");
assertSame(r.getLevel(), Level.FINER);
assertSame(r.getParameters(), null);
assertSame(r.getThrown(), null);
this.sharedLogger.setLevel(Level.FINE);
this.sharedLogger.entering("sourceClass", "sourceMethod");
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test entering(String, String) with null values.
*/
public void testEntering_StringString_Null() {
Logger child = new MockLogger("childLogger", null);
Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2);
child.addHandler(new MockHandler());
child.setParent(parent);
child.setLevel(Level.FINER);
child.entering(null, null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), child.getName());
assertEquals(r.getMessage(), "ENTRY");
assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
assertSame(r.getResourceBundle(), parent.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.FINER);
assertSame(r.getParameters(), null);
assertSame(r.getThrown(), null);
}
/*
* Test entering(String, String, Object) with normal values.
*/
public void testEntering_StringStringObject_Normal() {
Object param = new Object();
this.sharedLogger.setLevel(Level.FINER);
this.sharedLogger.entering("sourceClass", "sourceMethod", param);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(), "ENTRY {0}");
assertSame(r.getResourceBundleName(), this.sharedLogger
.getResourceBundleName());
assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle());
assertSame(r.getSourceClassName(), "sourceClass");
assertSame(r.getSourceMethodName(), "sourceMethod");
assertSame(r.getLevel(), Level.FINER);
assertSame(r.getParameters()[0], param);
assertEquals(1, r.getParameters().length);
assertSame(r.getThrown(), null);
this.sharedLogger.setLevel(Level.FINE);
this.sharedLogger.entering("sourceClass", "sourceMethod", param);
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test entering(String, String, Object) with null values.
*/
public void testEntering_StringStringObject_Null() {
Logger child = new MockLogger("childLogger", null);
Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2);
child.addHandler(new MockHandler());
child.setParent(parent);
child.setLevel(Level.FINER);
child.entering(null, null, (Object) null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), child.getName());
assertEquals(r.getMessage(), "ENTRY {0}");
assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
assertSame(r.getResourceBundle(), parent.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.FINER);
assertEquals(r.getParameters().length, 1);
assertNull(r.getParameters()[0]);
assertSame(r.getThrown(), null);
}
/*
* Test entering(String, String, Object[]) with normal values.
*/
public void testEntering_StringStringObjects_Normal() {
Object[] params = new Object[2];
params[0] = new Object();
params[1] = new Object();
this.sharedLogger.setLevel(Level.FINER);
this.sharedLogger.entering("sourceClass", "sourceMethod", params);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(), "ENTRY {0} {1}");
assertSame(r.getResourceBundleName(), this.sharedLogger
.getResourceBundleName());
assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle());
assertSame(r.getSourceClassName(), "sourceClass");
assertSame(r.getSourceMethodName(), "sourceMethod");
assertSame(r.getLevel(), Level.FINER);
assertSame(r.getParameters()[0], params[0]);
assertSame(r.getParameters()[1], params[1]);
assertEquals(2, r.getParameters().length);
assertSame(r.getThrown(), null);
this.sharedLogger.setLevel(Level.FINE);
this.sharedLogger.entering("sourceClass", "sourceMethod", params);
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test entering(String, String, Object[]) with null class name and method
* name and empty parameter array.
*/
public void testEntering_StringStringObjects_NullEmpty() {
Logger child = new MockLogger("childLogger", null);
Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2);
child.addHandler(new MockHandler());
child.setParent(parent);
child.setLevel(Level.FINER);
child.entering(null, null, new Object[0]);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), child.getName());
assertEquals(r.getMessage(), "ENTRY");
assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
assertSame(r.getResourceBundle(), parent.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.FINER);
assertEquals(0, r.getParameters().length);
assertSame(r.getThrown(), null);
}
/*
* Test entering(String, String, Object[]) with null values with appropriate
* logging level set.
*/
public void testEntering_StringStringObjects_Null() {
sharedLogger.setLevel(Level.FINER);
sharedLogger.entering(null, null, (Object[]) null);
// regression test for Harmony-1265
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(sharedLogger.getName(), r.getLoggerName());
assertEquals("ENTRY", r.getMessage());
assertSame(sharedLogger.getResourceBundleName(), r
.getResourceBundleName());
assertSame(sharedLogger.getResourceBundle(), r.getResourceBundle());
assertNull(r.getSourceClassName());
assertNull(r.getSourceMethodName());
assertSame(Level.FINER, r.getLevel());
assertNull(r.getParameters());
assertNull(r.getThrown());
}
/*
* Test entering(String, String, Object[]) with null values with
* inappropriate logging level set.
*/
public void testEntering_StringStringObjects_NullDisabled() {
this.sharedLogger.setLevel(Level.FINE);
this.sharedLogger.entering(null, null, (Object[]) null);
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test exiting(String, String) with normal values.
*/
public void testExiting_StringString_Normal() {
this.sharedLogger.setLevel(Level.FINER);
this.sharedLogger.exiting("sourceClass", "sourceMethod");
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(), "RETURN");
assertSame(r.getResourceBundleName(), this.sharedLogger
.getResourceBundleName());
assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle());
assertSame(r.getSourceClassName(), "sourceClass");
assertSame(r.getSourceMethodName(), "sourceMethod");
assertSame(r.getLevel(), Level.FINER);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
this.sharedLogger.setLevel(Level.FINE);
this.sharedLogger.exiting("sourceClass", "sourceMethod");
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test exiting(String, String) with null values.
*/
public void testExiting_StringString_Null() {
Logger child = new MockLogger("childLogger", null);
Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2);
child.addHandler(new MockHandler());
child.setParent(parent);
child.setLevel(Level.FINER);
child.exiting(null, null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), child.getName());
assertEquals(r.getMessage(), "RETURN");
assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
assertSame(r.getResourceBundle(), parent.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.FINER);
assertSame(r.getParameters(), null);
assertSame(r.getThrown(), null);
}
/*
* Test exiting(String, String, Object) with normal values.
*/
public void testExiting_StringStringObject_Normal() {
Object param = new Object();
this.sharedLogger.setLevel(Level.FINER);
this.sharedLogger.exiting("sourceClass", "sourceMethod", param);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(), "RETURN {0}");
assertSame(r.getResourceBundleName(), this.sharedLogger
.getResourceBundleName());
assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle());
assertSame(r.getSourceClassName(), "sourceClass");
assertSame(r.getSourceMethodName(), "sourceMethod");
assertSame(r.getLevel(), Level.FINER);
assertSame(r.getParameters()[0], param);
assertEquals(1, r.getParameters().length);
assertSame(r.getThrown(), null);
this.sharedLogger.setLevel(Level.FINE);
this.sharedLogger.exiting("sourceClass", "sourceMethod", param);
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test exiting(String, String, Object) with null values.
*/
public void testExiting_StringStringObject_Null() {
Logger child = new MockLogger("childLogger", null);
Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2);
child.addHandler(new MockHandler());
child.setParent(parent);
child.setLevel(Level.FINER);
child.exiting(null, null, (Object) null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), child.getName());
assertEquals(r.getMessage(), "RETURN {0}");
assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
assertSame(r.getResourceBundle(), parent.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.FINER);
assertEquals(r.getParameters().length, 1);
assertNull(r.getParameters()[0]);
assertSame(r.getThrown(), null);
}
/*
* Test config(String) with normal values.
*/
public void testConfig_Normal() {
this.sharedLogger.setLevel(Level.CONFIG);
this.sharedLogger.config("config msg");
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(), "config msg");
assertSame(r.getResourceBundleName(), this.sharedLogger
.getResourceBundleName());
assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.CONFIG);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
this.sharedLogger.setLevel(Level.INFO);
this.sharedLogger.config("config again");
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test config(String) with null values.
*/
public void testConfig_Null() {
Logger child = new MockLogger("childLogger", null);
Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2);
child.addHandler(new MockHandler());
child.setParent(parent);
child.setLevel(Level.CONFIG);
child.config((String)null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), child.getName());
assertNull(r.getMessage());
assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
assertSame(r.getResourceBundle(), parent.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.CONFIG);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
this.sharedLogger.setLevel(Level.INFO);
this.sharedLogger.config((String)null);
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test config(Supplier<String>) with normal values.
*/
public void testConfig_Supplier() {
this.sharedLogger.setLevel(Level.CONFIG);
this.sharedLogger.config(() -> "config msg");
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(), "config msg");
assertSame(r.getResourceBundleName(), this.sharedLogger
.getResourceBundleName());
assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.CONFIG);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
this.sharedLogger.setLevel(Level.INFO);
this.sharedLogger.config(() -> "config again");
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test config(Supplier<String>) with null values.
*/
public void testConfig_Supplier_Null() {
Logger child = new MockLogger("childLogger", null);
Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2);
child.addHandler(new MockHandler());
child.setParent(parent);
child.setLevel(Level.CONFIG);
child.config(() -> (String)null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), child.getName());
assertNull(r.getMessage());
assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
assertSame(r.getResourceBundle(), parent.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.CONFIG);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
this.sharedLogger.setLevel(Level.INFO);
this.sharedLogger.config(() -> (String)null);
assertTrue(CallVerificationStack.getInstance().empty());
try {
child.config((Supplier<String>) null);
fail();
} catch(NullPointerException expected) {}
}
/*
* Test fine(String) with normal values.
*/
public void testFine_Normal() {
this.sharedLogger.setLevel(Level.FINE);
this.sharedLogger.fine("fine msg");
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle());
assertEquals(r.getMessage(), "fine msg");
assertSame(r.getResourceBundleName(), this.sharedLogger
.getResourceBundleName());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.FINE);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
this.sharedLogger.setLevel(Level.CONFIG);
this.sharedLogger.fine("fine again");
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test fine(Supplier<String>) with normal values.
*/
public void testFine_Supplier() {
this.sharedLogger.setLevel(Level.FINE);
this.sharedLogger.fine(() -> "fine msg");
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle());
assertEquals(r.getMessage(), "fine msg");
assertSame(r.getResourceBundleName(), this.sharedLogger
.getResourceBundleName());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.FINE);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
this.sharedLogger.setLevel(Level.CONFIG);
this.sharedLogger.fine(() -> "fine again");
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test fine(String) with null values.
*/
public void testFine_Null() {
Logger child = new MockLogger("childLogger", null);
Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2);
child.addHandler(new MockHandler());
child.setParent(parent);
child.setLevel(Level.FINE);
child.fine((String)null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), child.getName());
assertNull(r.getMessage());
assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
assertSame(r.getResourceBundle(), parent.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.FINE);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
this.sharedLogger.setLevel(Level.CONFIG);
this.sharedLogger.fine((String)null);
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test fine(Supplier<String>) with null values.
*/
public void testFine_Supplier_Null() {
Logger child = new MockLogger("childLogger", null);
Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2);
child.addHandler(new MockHandler());
child.setParent(parent);
child.setLevel(Level.FINE);
child.fine(() -> (String)null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), child.getName());
assertNull(r.getMessage());
assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
assertSame(r.getResourceBundle(), parent.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.FINE);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
this.sharedLogger.setLevel(Level.CONFIG);
this.sharedLogger.fine(() -> (String)null);
assertTrue(CallVerificationStack.getInstance().empty());
try {
child.fine((Supplier<String>) null);
fail();
} catch(NullPointerException expected) {}
}
/*
* Test finer(String) with normal values.
*/
public void testFiner_Normal() {
this.sharedLogger.setLevel(Level.FINER);
this.sharedLogger.finer("finer msg");
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(), "finer msg");
assertSame(r.getResourceBundleName(), this.sharedLogger
.getResourceBundleName());
assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.FINER);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
this.sharedLogger.setLevel(Level.FINE);
this.sharedLogger.finer("finer again");
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test finer(Supplier<String>) with normal values.
*/
public void testFiner_Supplier() {
this.sharedLogger.setLevel(Level.FINER);
this.sharedLogger.finer(() -> "finer msg");
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(), "finer msg");
assertSame(r.getResourceBundleName(), this.sharedLogger
.getResourceBundleName());
assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.FINER);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
this.sharedLogger.setLevel(Level.FINE);
this.sharedLogger.finer(() -> "finer again");
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test finer(String) with null values.
*/
public void testFiner_Null() {
Logger child = new MockLogger("childLogger", null);
Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2);
child.addHandler(new MockHandler());
child.setParent(parent);
child.setLevel(Level.FINER);
child.finer((String)null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), child.getName());
assertNull(r.getMessage());
assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
assertSame(r.getResourceBundle(), parent.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.FINER);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
this.sharedLogger.setLevel(Level.FINE);
this.sharedLogger.finer((String)null);
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test finer(Supplier<String>) with null values.
*/
public void testFiner_Supplier_Null() {
Logger child = new MockLogger("childLogger", null);
Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2);
child.addHandler(new MockHandler());
child.setParent(parent);
child.setLevel(Level.FINER);
child.finer(() -> (String)null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), child.getName());
assertNull(r.getMessage());
assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
assertSame(r.getResourceBundle(), parent.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.FINER);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
this.sharedLogger.setLevel(Level.FINE);
this.sharedLogger.finer(() -> (String)null);
assertTrue(CallVerificationStack.getInstance().empty());
try {
child.finer((Supplier<String>) null);
fail();
} catch(NullPointerException expected) {}
}
/*
* Test finest(String) with normal values.
*/
public void testFinest_Normal() {
this.sharedLogger.setLevel(Level.FINEST);
this.sharedLogger.finest("finest msg");
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(), "finest msg");
assertSame(r.getResourceBundleName(), this.sharedLogger
.getResourceBundleName());
assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.FINEST);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
this.sharedLogger.setLevel(Level.FINER);
this.sharedLogger.finest("finest again");
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test finest(Supplier<String>) with normal values.
*/
public void testFinest_Supplier() {
this.sharedLogger.setLevel(Level.FINEST);
this.sharedLogger.finest(() -> "finest msg");
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(), "finest msg");
assertSame(r.getResourceBundleName(), this.sharedLogger
.getResourceBundleName());
assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.FINEST);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
this.sharedLogger.setLevel(Level.FINER);
this.sharedLogger.finest(() -> "finest again");
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test finest(String) with null values.
*/
public void testFinest_Null() {
Logger child = new MockLogger("childLogger", null);
Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2);
child.addHandler(new MockHandler());
child.setParent(parent);
child.setLevel(Level.FINEST);
child.finest((String)null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), child.getName());
assertNull(r.getMessage());
assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
assertSame(r.getResourceBundle(), parent.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.FINEST);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
this.sharedLogger.setLevel(Level.FINER);
this.sharedLogger.finest((String)null);
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test finest(Supplier<String>) with null values.
*/
public void testFinest_Supplier_Null() {
Logger child = new MockLogger("childLogger", null);
Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2);
child.addHandler(new MockHandler());
child.setParent(parent);
child.setLevel(Level.FINEST);
child.finest(() -> (String)null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), child.getName());
assertNull(r.getMessage());
assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
assertSame(r.getResourceBundle(), parent.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.FINEST);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
this.sharedLogger.setLevel(Level.FINER);
this.sharedLogger.finest(() -> (String)null);
assertTrue(CallVerificationStack.getInstance().empty());
try {
child.finest((Supplier<String>) null);
fail();
} catch(NullPointerException expected) {}
}
/*
* Test info(String) with normal values.
*/
public void testInfo_Normal() {
this.sharedLogger.setLevel(Level.INFO);
this.sharedLogger.info("info msg");
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(), "info msg");
assertSame(r.getResourceBundleName(), this.sharedLogger
.getResourceBundleName());
assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.INFO);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
this.sharedLogger.setLevel(Level.WARNING);
this.sharedLogger.info("info again");
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test info(Supplier<String>) with normal values.
*/
public void testInfo_Supplier() {
this.sharedLogger.setLevel(Level.INFO);
this.sharedLogger.info(() -> "info msg");
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(), "info msg");
assertSame(r.getResourceBundleName(), this.sharedLogger
.getResourceBundleName());
assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.INFO);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
this.sharedLogger.setLevel(Level.WARNING);
this.sharedLogger.info(() -> "info again");
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test info(String) with null values.
*/
public void testInfo_Null() {
Logger child = new MockLogger("childLogger", null);
Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2);
child.addHandler(new MockHandler());
child.setParent(parent);
child.setLevel(Level.INFO);
child.info((String)null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), child.getName());
assertNull(r.getMessage());
assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
assertSame(r.getResourceBundle(), parent.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.INFO);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
this.sharedLogger.setLevel(Level.WARNING);
this.sharedLogger.info((String)null);
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test info(Supplier<String>) with null values.
*/
public void testInfo_Supplier_Null() {
Logger child = new MockLogger("childLogger", null);
Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2);
child.addHandler(new MockHandler());
child.setParent(parent);
child.setLevel(Level.INFO);
child.info(() -> (String)null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), child.getName());
assertNull(r.getMessage());
assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
assertSame(r.getResourceBundle(), parent.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.INFO);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
this.sharedLogger.setLevel(Level.WARNING);
this.sharedLogger.info(() -> (String)null);
assertTrue(CallVerificationStack.getInstance().empty());
try {
child.info((Supplier<String>) null);
fail();
} catch(NullPointerException expected) {}
}
/*
* Test warning(String) with normal values.
*/
public void testWarning_Normal() {
this.sharedLogger.setLevel(Level.WARNING);
this.sharedLogger.warning("warning msg");
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(), "warning msg");
assertSame(r.getResourceBundleName(), this.sharedLogger
.getResourceBundleName());
assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.WARNING);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
this.sharedLogger.setLevel(Level.SEVERE);
this.sharedLogger.warning("warning again");
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test warning(Supplier<String>) with normal values.
*/
public void testWarning_Supplier() {
this.sharedLogger.setLevel(Level.WARNING);
this.sharedLogger.warning(() -> "warning msg");
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(), "warning msg");
assertSame(r.getResourceBundleName(), this.sharedLogger
.getResourceBundleName());
assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.WARNING);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
this.sharedLogger.setLevel(Level.SEVERE);
this.sharedLogger.warning(() -> "warning again");
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test warning(String) with null values.
*/
public void testWarning_Null() {
Logger child = new MockLogger("childLogger", null);
Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2);
child.addHandler(new MockHandler());
child.setParent(parent);
child.setLevel(Level.WARNING);
child.warning((String)null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), child.getName());
assertNull(r.getMessage());
assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
assertSame(r.getResourceBundle(), parent.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.WARNING);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
this.sharedLogger.setLevel(Level.SEVERE);
this.sharedLogger.warning((String)null);
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test warning(Supplier<String>) with null values.
*/
public void testWarning_Supplier_Null() {
Logger child = new MockLogger("childLogger", null);
Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2);
child.addHandler(new MockHandler());
child.setParent(parent);
child.setLevel(Level.WARNING);
child.warning(() -> (String)null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), child.getName());
assertNull(r.getMessage());
assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
assertSame(r.getResourceBundle(), parent.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.WARNING);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
this.sharedLogger.setLevel(Level.SEVERE);
this.sharedLogger.warning(() -> (String)null);
assertTrue(CallVerificationStack.getInstance().empty());
try {
child.warning((Supplier<String>) null);
fail();
} catch(NullPointerException expected) {}
}
/*
* Test severe(String) with normal values.
*/
public void testSevere_Normal() {
this.sharedLogger.setLevel(Level.SEVERE);
this.sharedLogger.severe("severe msg");
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(), "severe msg");
assertSame(r.getResourceBundleName(), this.sharedLogger
.getResourceBundleName());
assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.SEVERE);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
this.sharedLogger.setLevel(Level.OFF);
this.sharedLogger.severe("severe again");
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test severe(Supplier<String>) with normal values.
*/
public void testSevere_Supplier() {
this.sharedLogger.setLevel(Level.SEVERE);
this.sharedLogger.severe(() -> "severe msg");
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(), "severe msg");
assertSame(r.getResourceBundleName(), this.sharedLogger
.getResourceBundleName());
assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.SEVERE);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
this.sharedLogger.setLevel(Level.OFF);
this.sharedLogger.severe(() -> "severe again");
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test severe(String) with null values.
*/
public void testSevere_Null() {
Logger child = new MockLogger("childLogger", null);
Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2);
child.addHandler(new MockHandler());
child.setParent(parent);
child.setLevel(Level.SEVERE);
child.severe((String)null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), child.getName());
assertNull(r.getMessage());
assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
assertSame(r.getResourceBundle(), parent.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.SEVERE);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
this.sharedLogger.setLevel(Level.OFF);
this.sharedLogger.severe((String)null);
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test severe(Supplier<String>) with null values.
*/
public void testSevere_Supplier_Null() {
Logger child = new MockLogger("childLogger", null);
Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2);
child.addHandler(new MockHandler());
child.setParent(parent);
child.setLevel(Level.SEVERE);
child.severe(() -> (String)null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), child.getName());
assertNull(r.getMessage());
assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
assertSame(r.getResourceBundle(), parent.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.SEVERE);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
this.sharedLogger.setLevel(Level.OFF);
this.sharedLogger.severe(() -> (String)null);
assertTrue(CallVerificationStack.getInstance().empty());
try {
child.severe((Supplier<String>) null);
fail();
} catch(NullPointerException expected) {}
}
/*
* Test log(Level, String) with normal values.
*/
public void testLog_LevelString_Normal() {
this.sharedLogger.setLevel(Level.INFO);
this.sharedLogger.log(Level.INFO, "log(Level, String) msg");
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(), "log(Level, String) msg");
assertSame(r.getResourceBundleName(), this.sharedLogger
.getResourceBundleName());
assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.INFO);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
this.sharedLogger.log(Level.CONFIG, "log(Level, String) msg");
assertTrue(CallVerificationStack.getInstance().empty());
this.sharedLogger.setLevel(Level.OFF);
this.sharedLogger.log(Level.OFF, "log(Level, String) msg");
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test log(Level, Supplier<String>) with normal values.
*/
public void testLog_LevelSupplier() {
this.sharedLogger.setLevel(Level.INFO);
this.sharedLogger.log(Level.INFO, () -> "log(Level, String) msg");
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(), "log(Level, String) msg");
assertSame(r.getResourceBundleName(), this.sharedLogger
.getResourceBundleName());
assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.INFO);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
this.sharedLogger.log(Level.CONFIG, () -> "log(Level, String) msg");
assertTrue(CallVerificationStack.getInstance().empty());
this.sharedLogger.setLevel(Level.OFF);
this.sharedLogger.log(Level.OFF, () -> "log(Level, String) msg");
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test log(Level, String) with null message.
*/
public void testLog_LevelString_NullMsg() {
Logger child = new MockLogger("childLogger", null);
Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2);
child.addHandler(new MockHandler());
child.setParent(parent);
child.setLevel(Level.INFO);
child.log(Level.INFO, (String)null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), child.getName());
assertNull(r.getMessage());
assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
assertSame(r.getResourceBundle(), parent.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.INFO);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
}
/*
* Test log(Level, Supplier<String>) with null message.
*/
public void testLog_LevelSupplier_NullMsg() {
Logger child = new MockLogger("childLogger", null);
Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2);
child.addHandler(new MockHandler());
child.setParent(parent);
child.setLevel(Level.INFO);
child.log(Level.INFO, () -> (String)null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), child.getName());
assertNull(r.getMessage());
assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
assertSame(r.getResourceBundle(), parent.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.INFO);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
try {
child.log(Level.INFO, (Supplier<String>) null);
fail();
} catch(NullPointerException expected) {}
}
/*
* Test log(Level, String) with null level.
*/
public void testLog_LevelString_NullLevel() {
// this.sharedLogger.setLevel(Level.OFF);
try {
this.sharedLogger.log(null, "log(Level, String) msg");
fail("Should throw NullPointerException!");
} catch (NullPointerException e) {
}
}
/*
* Test log(Level, String, Object) with normal values.
*/
public void testLog_LevelStringObject_Normal() {
Object param = new Object();
this.sharedLogger.setLevel(Level.INFO);
this.sharedLogger.log(Level.INFO, "log(Level, String, Object) msg",
param);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(), "log(Level, String, Object) msg");
assertSame(r.getResourceBundleName(), this.sharedLogger
.getResourceBundleName());
assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.INFO);
assertEquals(1, r.getParameters().length);
assertSame(param, r.getParameters()[0]);
assertSame(r.getThrown(), null);
this.sharedLogger.log(Level.CONFIG, "log(Level, String, Object) msg",
param);
assertTrue(CallVerificationStack.getInstance().empty());
this.sharedLogger.setLevel(Level.OFF);
this.sharedLogger.log(Level.OFF, "log(Level, String, Object) msg",
param);
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test log(Level, String, Object) with null message and object.
*/
public void testLog_LevelStringObject_NullMsgObj() {
Logger child = new MockLogger("childLogger", null);
Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2);
child.addHandler(new MockHandler());
child.setParent(parent);
child.setLevel(Level.INFO);
child.log(Level.INFO, null, (Object) null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), child.getName());
assertNull(r.getMessage());
assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
assertSame(r.getResourceBundle(), parent.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.INFO);
assertEquals(1, r.getParameters().length);
assertNull(r.getParameters()[0]);
assertSame(r.getThrown(), null);
}
/*
* Test log(Level, String, Object) with null level.
*/
public void testLog_LevelStringObject_NullLevel() {
// this.sharedLogger.setLevel(Level.OFF);
try {
this.sharedLogger.log(null, "log(Level, String, Object) msg",
new Object());
fail("Should throw NullPointerException!");
} catch (NullPointerException e) {
}
}
/*
* Test log(Level, String, Object[]) with normal values.
*/
public void testLog_LevelStringObjects_Normal() {
Object[] params = new Object[2];
params[0] = new Object();
params[1] = new Object();
this.sharedLogger.setLevel(Level.INFO);
this.sharedLogger.log(Level.INFO, "log(Level, String, Object[]) msg",
params);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(), "log(Level, String, Object[]) msg");
assertSame(r.getResourceBundleName(), this.sharedLogger
.getResourceBundleName());
assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.INFO);
assertEquals(2, r.getParameters().length);
assertSame(params[0], r.getParameters()[0]);
assertSame(params[1], r.getParameters()[1]);
assertSame(r.getThrown(), null);
this.sharedLogger.log(Level.CONFIG, "log(Level, String, Object[]) msg",
params);
assertTrue(CallVerificationStack.getInstance().empty());
this.sharedLogger.setLevel(Level.OFF);
this.sharedLogger.log(Level.OFF, "log(Level, String, Object[]) msg",
params);
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test log(Level, String, Object[]) with null message and object.
*/
public void testLog_LevelStringObjects_NullMsgObj() {
Logger child = new MockLogger("childLogger", null);
Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2);
child.addHandler(new MockHandler());
child.setParent(parent);
child.setLevel(Level.INFO);
child.log(Level.INFO, null, (Object[]) null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), child.getName());
assertNull(r.getMessage());
assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
assertSame(r.getResourceBundle(), parent.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.INFO);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
}
/*
* Test log(Level, String, Object[]) with null level.
*/
public void testLog_LevelStringObjects_NullLevel() {
// this.sharedLogger.setLevel(Level.OFF);
try {
this.sharedLogger.log(null, "log(Level, String, Object[]) msg",
new Object[0]);
fail("Should throw NullPointerException!");
} catch (NullPointerException e) {
}
}
/*
* Test log(Level, String, Throwable) with normal values.
*/
public void testLog_LevelStringThrowable_Normal() {
Throwable t = new Throwable();
this.sharedLogger.setLevel(Level.INFO);
this.sharedLogger.log(Level.INFO, "log(Level, String, Throwable) msg",
t);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(), "log(Level, String, Throwable) msg");
assertSame(r.getResourceBundleName(), this.sharedLogger
.getResourceBundleName());
assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.INFO);
assertNull(r.getParameters());
assertSame(r.getThrown(), t);
this.sharedLogger.log(Level.CONFIG,
"log(Level, String, Throwable) msg", t);
assertTrue(CallVerificationStack.getInstance().empty());
this.sharedLogger.setLevel(Level.OFF);
this.sharedLogger
.log(Level.OFF, "log(Level, String, Throwable) msg", t);
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test log(Level, String, Throwable) with null message and throwable.
*/
public void testLog_LevelStringThrowable_Null() {
Logger child = new MockLogger("childLogger", null);
Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2);
child.addHandler(new MockHandler());
child.setParent(parent);
child.setLevel(Level.INFO);
child.log(Level.INFO, null, (Throwable) null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), child.getName());
assertNull(r.getMessage());
assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
assertSame(r.getResourceBundle(), parent.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.INFO);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
}
/*
* Test log(Level, String, Throwable) with null level.
*/
public void testLog_LevelStringThrowable_NullLevel() {
// this.sharedLogger.setLevel(Level.OFF);
try {
this.sharedLogger.log(null, "log(Level, String, Throwable) msg",
new Throwable());
fail("Should throw NullPointerException!");
} catch (NullPointerException e) {
}
}
/*
* Test log(Level, Throwable, Supplier<String>) with normal values.
*/
public void testLog_LevelThrowableSupplier_Normal() {
Throwable t = new Throwable();
this.sharedLogger.setLevel(Level.INFO);
this.sharedLogger.log(Level.INFO, t,
() -> "log(Level, Throwable, Supplier<String>) msg");
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(), "log(Level, Throwable, Supplier<String>) msg");
assertSame(r.getResourceBundleName(), this.sharedLogger
.getResourceBundleName());
assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.INFO);
assertNull(r.getParameters());
assertSame(r.getThrown(), t);
this.sharedLogger.log(Level.CONFIG, t,
() -> "log(Level, Throwable, Supplier<String>) msg");
assertTrue(CallVerificationStack.getInstance().empty());
this.sharedLogger.setLevel(Level.OFF);
this.sharedLogger
.log(Level.OFF, "log(Level, Throwable, Supplier<String>) msg", t);
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test log(Level, Throwable, Supplier<String>) with null message and throwable.
*/
public void testLog_LevelThrowableSupplier_Null() {
Logger child = new MockLogger("childLogger", null);
Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2);
child.addHandler(new MockHandler());
child.setParent(parent);
child.setLevel(Level.INFO);
child.log(Level.INFO, (Throwable) null, () -> (String)null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), child.getName());
assertNull(r.getMessage());
assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
assertSame(r.getResourceBundle(), parent.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.INFO);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
try {
child.log(Level.INFO, (Throwable) null, (Supplier<String>)null);
fail();
} catch(NullPointerException expected) {}
}
/*
* Test logp(Level, String, String, String) with normal values.
*/
public void testLogp_LevelStringStringString_Normal() {
this.sharedLogger.setLevel(Level.INFO);
this.sharedLogger.logp(Level.INFO, "sourceClass", "sourceMethod",
"logp(Level, String, String, String) msg");
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(), "logp(Level, String, String, String) msg");
assertSame(r.getResourceBundleName(), this.sharedLogger
.getResourceBundleName());
assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle());
assertSame(r.getSourceClassName(), "sourceClass");
assertSame(r.getSourceMethodName(), "sourceMethod");
assertSame(r.getLevel(), Level.INFO);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
this.sharedLogger.logp(Level.CONFIG, "sourceClass", "sourceMethod",
"logp(Level, String, String, String) msg");
assertTrue(CallVerificationStack.getInstance().empty());
this.sharedLogger.setLevel(Level.OFF);
this.sharedLogger.logp(Level.OFF, "sourceClass", "sourceMethod",
"logp(Level, String, String, String) msg");
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test logp(Level, String, String, String) with null message.
*/
public void testLogp_LevelStringStringString_NullMsg() {
Logger child = new MockLogger("childLogger", null);
Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2);
child.addHandler(new MockHandler());
child.setParent(parent);
child.setLevel(Level.INFO);
child.logp(Level.INFO, (String)null, (String)null, (String)null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), child.getName());
assertNull(r.getMessage());
assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
assertSame(r.getResourceBundle(), parent.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.INFO);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
}
/*
* Test logp(Level, String, String, String) with null level.
*/
public void testLogp_LevelStringStringString_NullLevel() {
// this.sharedLogger.setLevel(Level.OFF);
try {
this.sharedLogger.logp(null, "sourceClass", "sourceMethod",
"logp(Level, String, String, String) msg");
fail("Should throw NullPointerException!");
} catch (NullPointerException e) {
}
}
/*
* Test logp(Level, String, String, Supplier<String>) with normal values.
*/
public void testLogp_LevelStringStringSupplier_Normal() {
this.sharedLogger.setLevel(Level.INFO);
this.sharedLogger.logp(Level.INFO, "sourceClass", "sourceMethod",
() -> "logp(Level, String, String, Supplier<String>) msg");
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(), "logp(Level, String, String, Supplier<String>) msg");
assertSame(r.getResourceBundleName(), this.sharedLogger
.getResourceBundleName());
assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle());
assertSame(r.getSourceClassName(), "sourceClass");
assertSame(r.getSourceMethodName(), "sourceMethod");
assertSame(r.getLevel(), Level.INFO);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
this.sharedLogger.logp(Level.CONFIG, "sourceClass", "sourceMethod",
() -> "logp(Level, String, String, Supplier<String>) msg");
assertTrue(CallVerificationStack.getInstance().empty());
this.sharedLogger.setLevel(Level.OFF);
this.sharedLogger.logp(Level.OFF, "sourceClass", "sourceMethod",
() -> "logp(Level, String, String, Supplier<String>) msg");
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test logp(Level, String, String, Supplier<String>) with null message.
*/
public void testLogp_LevelStringStringSupplier_NullMsg() {
Logger child = new MockLogger("childLogger", null);
Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2);
child.addHandler(new MockHandler());
child.setParent(parent);
child.setLevel(Level.INFO);
child.logp(Level.INFO, (String)null, (String)null, () -> (String)null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), child.getName());
assertNull(r.getMessage());
assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
assertSame(r.getResourceBundle(), parent.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.INFO);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
try {
child.logp(Level.INFO, (String)null, (String)null, (Supplier<String>)null);
fail();
} catch(NullPointerException expected) {}
}
/*
* Test logp(Level, String, String, Supplier<String>) with null level.
*/
public void testLogp_LevelStringStringSupplier_NullLevel() {
// this.sharedLogger.setLevel(Level.OFF);
try {
this.sharedLogger.logp(null, "sourceClass", "sourceMethod",
() -> "logp(Level, String, String, String) msg");
fail("Should throw NullPointerException!");
} catch (NullPointerException e) {
}
}
/*
* Test logp(Level, String, String, String, Object) with normal values.
*/
public void testLogp_LevelStringStringStringObject_Normal() {
Object param = new Object();
this.sharedLogger.setLevel(Level.INFO);
this.sharedLogger.logp(Level.INFO, "sourceClass", "sourceMethod",
"logp(Level, String, String, String, Object) msg", param);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(),
"logp(Level, String, String, String, Object) msg");
assertSame(r.getResourceBundleName(), this.sharedLogger
.getResourceBundleName());
assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle());
assertSame(r.getSourceClassName(), "sourceClass");
assertSame(r.getSourceMethodName(), "sourceMethod");
assertSame(r.getLevel(), Level.INFO);
assertEquals(1, r.getParameters().length);
assertSame(param, r.getParameters()[0]);
assertSame(r.getThrown(), null);
this.sharedLogger.logp(Level.CONFIG, "sourceClass", "sourceMethod",
"logp(Level, String, String, String, Object) msg", param);
assertTrue(CallVerificationStack.getInstance().empty());
this.sharedLogger.setLevel(Level.OFF);
this.sharedLogger.logp(Level.OFF, "sourceClass", "sourceMethod",
"logp(Level, String, String, String, Object) msg", param);
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test logp(Level, String, String, String, Object) with null message and
* object.
*/
public void testLogp_LevelStringStringStringObject_NullMsgObj() {
Logger child = new MockLogger("childLogger", null);
Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2);
child.addHandler(new MockHandler());
child.setParent(parent);
child.setLevel(Level.INFO);
child.logp(Level.INFO, null, null, null, (Object) null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), child.getName());
assertNull(r.getMessage());
assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
assertSame(r.getResourceBundle(), parent.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.INFO);
assertEquals(1, r.getParameters().length);
assertNull(r.getParameters()[0]);
assertSame(r.getThrown(), null);
}
/*
* Test logp(Level, String, String, String, Object) with null level.
*/
public void testLogp_LevelStringStringStringObject_NullLevel() {
// this.sharedLogger.setLevel(Level.OFF);
try {
this.sharedLogger.logp(null, "sourceClass", "sourceMethod",
"logp(Level, String, String, String, Object) msg",
new Object());
fail("Should throw NullPointerException!");
} catch (NullPointerException e) {
}
}
/*
* Test logp(Level, String, String, String, Object[]) with normal values.
*/
public void testLogp_LevelStringStringStringObjects_Normal() {
Object[] params = new Object[2];
params[0] = new Object();
params[1] = new Object();
this.sharedLogger.setLevel(Level.INFO);
this.sharedLogger.logp(Level.INFO, "sourceClass", "sourceMethod",
"logp(Level, String, String, String, Object[]) msg", params);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(),
"logp(Level, String, String, String, Object[]) msg");
assertSame(r.getResourceBundleName(), this.sharedLogger
.getResourceBundleName());
assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle());
assertSame(r.getSourceClassName(), "sourceClass");
assertSame(r.getSourceMethodName(), "sourceMethod");
assertSame(r.getLevel(), Level.INFO);
assertEquals(2, r.getParameters().length);
assertSame(params[0], r.getParameters()[0]);
assertSame(params[1], r.getParameters()[1]);
assertSame(r.getThrown(), null);
this.sharedLogger.logp(Level.CONFIG, "sourceClass", "sourceMethod",
"logp(Level, String, String, String, Object[]) msg", params);
assertTrue(CallVerificationStack.getInstance().empty());
this.sharedLogger.setLevel(Level.OFF);
this.sharedLogger.logp(Level.OFF, "sourceClass", "sourceMethod",
"logp(Level, String, String, String, Object[]) msg", params);
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test logp(Level, String, String, String, Object[]) with null message and
* object.
*/
public void testLogp_LevelStringStringStringObjects_NullMsgObj() {
Logger child = new MockLogger("childLogger", null);
Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2);
child.addHandler(new MockHandler());
child.setParent(parent);
child.setLevel(Level.INFO);
child.logp(Level.INFO, null, null, null, (Object[]) null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), child.getName());
assertNull(r.getMessage());
assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
assertSame(r.getResourceBundle(), parent.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.INFO);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
}
/*
* Test logp(Level, String, String, String, Object[]) with null level.
*/
public void testLogp_LevelStringStringStringObjects_NullLevel() {
// this.sharedLogger.setLevel(Level.OFF);
try {
this.sharedLogger.logp(null, "sourceClass", "sourceMethod",
"logp(Level, String, String, String, Object[]) msg",
new Object[0]);
fail("Should throw NullPointerException!");
} catch (NullPointerException e) {
}
}
/*
* Test logp(Level, String, String, String, Throwable) with normal values.
*/
public void testLogp_LevelStringStringStringThrowable_Normal() {
Throwable t = new Throwable();
this.sharedLogger.setLevel(Level.INFO);
this.sharedLogger.logp(Level.INFO, "sourceClass", "sourceMethod",
"logp(Level, String, String, String, Throwable) msg", t);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(),
"logp(Level, String, String, String, Throwable) msg");
assertSame(r.getResourceBundleName(), this.sharedLogger
.getResourceBundleName());
assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle());
assertSame(r.getSourceClassName(), "sourceClass");
assertSame(r.getSourceMethodName(), "sourceMethod");
assertSame(r.getLevel(), Level.INFO);
assertNull(r.getParameters());
assertSame(r.getThrown(), t);
this.sharedLogger.logp(Level.CONFIG, "sourceClass", "sourceMethod",
"logp(Level, String, String, String, Throwable) msg", t);
assertTrue(CallVerificationStack.getInstance().empty());
this.sharedLogger.setLevel(Level.OFF);
this.sharedLogger.logp(Level.OFF, "sourceClass", "sourceMethod",
"logp(Level, String, String, String, Throwable) msg", t);
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test logp(Level, String, String, String, Throwable) with null message and
* throwable.
*/
public void testLogp_LevelStringTStringStringhrowable_Null() {
Logger child = new MockLogger("childLogger", null);
Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2);
child.addHandler(new MockHandler());
child.setParent(parent);
child.setLevel(Level.INFO);
child.logp(Level.INFO, null, null, null, (Throwable) null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), child.getName());
assertNull(r.getMessage());
assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
assertSame(r.getResourceBundle(), parent.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.INFO);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
}
/*
* Test logp(Level, String, String, String, Throwable) with null level.
*/
public void testLogp_LevelStringStringStringThrowable_NullLevel() {
// this.sharedLogger.setLevel(Level.OFF);
try {
this.sharedLogger.logp(null, "sourceClass", "sourceMethod",
"log(Level, String, String, String, Throwable) msg",
new Throwable());
fail("Should throw NullPointerException!");
} catch (NullPointerException e) {
}
}
/*
* Test logp(Level, String, String, Throwable, Supplier<String>) with normal values.
*/
public void testLogp_LevelStringStringThrowableSupplier_Normal() {
Throwable t = new Throwable();
this.sharedLogger.setLevel(Level.INFO);
this.sharedLogger.logp(Level.INFO, "sourceClass", "sourceMethod", t,
() -> "logp(Level, String, String, Throwable, Supplier<String>) msg");
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(),
"logp(Level, String, String, Throwable, Supplier<String>) msg");
assertSame(r.getResourceBundleName(), this.sharedLogger
.getResourceBundleName());
assertSame(r.getResourceBundle(), this.sharedLogger.getResourceBundle());
assertSame(r.getSourceClassName(), "sourceClass");
assertSame(r.getSourceMethodName(), "sourceMethod");
assertSame(r.getLevel(), Level.INFO);
assertNull(r.getParameters());
assertSame(r.getThrown(), t);
this.sharedLogger.logp(Level.CONFIG, "sourceClass", "sourceMethod", t,
() -> "logp(Level, String, String, Throwable, Supplier<String>) msg");
assertTrue(CallVerificationStack.getInstance().empty());
this.sharedLogger.setLevel(Level.OFF);
this.sharedLogger.logp(Level.OFF, "sourceClass", "sourceMethod", t,
() -> "logp(Level, String, String, Throwable, Supplier<String>) msg");
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test logp(Level, String, String, Throwable, Supplier<String>) with null message and
* throwable.
*/
public void testLogp_LevelStringStringThrowableSupplier_Null() {
Logger child = new MockLogger("childLogger", null);
Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2);
child.addHandler(new MockHandler());
child.setParent(parent);
child.setLevel(Level.INFO);
child.logp(Level.INFO, null, null, (Throwable) null, () -> (String)null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), child.getName());
assertNull(r.getMessage());
assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
assertSame(r.getResourceBundle(), parent.getResourceBundle());
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.INFO);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
try {
child.logp(Level.INFO, null, null, (Throwable) null, (Supplier<String>) null);
fail();
} catch (NullPointerException expected) {}
}
/*
* Test logp(Level, String, String, Throwable, Supplier<String>) with null level.
*/
public void testLogp_LevelStringStringThrowableSupplier_NullLevel() {
// this.sharedLogger.setLevel(Level.OFF);
try {
this.sharedLogger.logp(null, "sourceClass", "sourceMethod",
new Throwable(), () -> "log(Level, String, String, Throwable, Supplier) msg");
fail("Should throw NullPointerException!");
} catch (NullPointerException e) {
}
}
/*
* Test logrb(Level, String, String, String, String) with normal values.
*/
public void testLogrb_LevelStringStringString_Normal() {
this.sharedLogger.setLevel(Level.INFO);
this.sharedLogger.logrb(Level.INFO, "sourceClass", "sourceMethod",
VALID_RESOURCE_BUNDLE2,
"logrb(Level, String, String, String, String) msg");
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(),
"logrb(Level, String, String, String, String) msg");
assertSame(r.getResourceBundleName(), VALID_RESOURCE_BUNDLE2);
assertEquals(VALID_VALUE2, r.getResourceBundle().getString(VALID_KEY));
assertSame(r.getSourceClassName(), "sourceClass");
assertSame(r.getSourceMethodName(), "sourceMethod");
assertSame(r.getLevel(), Level.INFO);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
this.sharedLogger.logrb(Level.CONFIG, "sourceClass", "sourceMethod",
VALID_RESOURCE_BUNDLE2,
"logrb(Level, String, String, String, String) msg");
assertTrue(CallVerificationStack.getInstance().empty());
this.sharedLogger.setLevel(Level.OFF);
this.sharedLogger.logrb(Level.OFF, "sourceClass", "sourceMethod",
VALID_RESOURCE_BUNDLE2,
"logrb(Level, String, String, String, String) msg");
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test logrb(Level, String, String, String, String) with null message.
*/
public void testLogrb_LevelStringStringString_NullMsg() {
this.sharedLogger.setLevel(Level.INFO);
this.sharedLogger.logrb(Level.INFO, null, null, null, null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertNull(r.getMessage());
assertSame(r.getResourceBundleName(), null);
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.INFO);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
}
/*
* Test logrb(Level, String, String, String) with null level.
*/
public void testLogrb_LevelStringStringString_NullLevel() {
// this.sharedLogger.setLevel(Level.OFF);
try {
this.sharedLogger.logrb(null, "sourceClass", "sourceMethod",
VALID_RESOURCE_BUNDLE2,
"logrb(Level, String, String, String, String) msg");
fail("Should throw NullPointerException!");
} catch (NullPointerException e) {
}
}
/*
* Test logrb(Level, String, String, String, String) with invalid resource
* bundle.
*/
public void testLogrb_LevelStringStringString_InvalidRes() {
this.sharedLogger.setLevel(Level.ALL);
this.sharedLogger.logrb(Level.ALL, "sourceClass", "sourceMethod",
INVALID_RESOURCE_BUNDLE,
"logrb(Level, String, String, String, String) msg");
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(),
"logrb(Level, String, String, String, String) msg");
assertSame(r.getResourceBundleName(), INVALID_RESOURCE_BUNDLE);
assertSame(r.getResourceBundle(), null);
assertSame(r.getSourceClassName(), "sourceClass");
assertSame(r.getSourceMethodName(), "sourceMethod");
assertSame(r.getLevel(), Level.ALL);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
}
/*
* Test logrb(Level, String, String, String, String, Object) with normal
* values.
*/
public void testLogrb_LevelStringStringStringObject_Normal() {
Object param = new Object();
this.sharedLogger.setLevel(Level.INFO);
this.sharedLogger.logrb(Level.INFO, "sourceClass", "sourceMethod",
VALID_RESOURCE_BUNDLE2,
"logrb(Level, String, String, String, String, Object) msg",
param);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(),
"logrb(Level, String, String, String, String, Object) msg");
assertSame(r.getResourceBundleName(), VALID_RESOURCE_BUNDLE2);
assertSame(r.getSourceClassName(), "sourceClass");
assertSame(r.getSourceMethodName(), "sourceMethod");
assertSame(r.getLevel(), Level.INFO);
assertEquals(1, r.getParameters().length);
assertSame(param, r.getParameters()[0]);
assertSame(r.getThrown(), null);
this.sharedLogger.logrb(Level.CONFIG, "sourceClass", "sourceMethod",
VALID_RESOURCE_BUNDLE2,
"logrb(Level, String, String, String, String, Object) msg",
param);
assertTrue(CallVerificationStack.getInstance().empty());
this.sharedLogger.setLevel(Level.OFF);
this.sharedLogger.logrb(Level.OFF, "sourceClass", "sourceMethod",
VALID_RESOURCE_BUNDLE2,
"logrb(Level, String, String, String, String, Object) msg",
param);
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test logrb(Level, String, String, String, String, Object) with null
* message and object.
*/
public void testLogrb_LevelStringStringStringObject_NullMsgObj() {
this.sharedLogger.setLevel(Level.INFO);
this.sharedLogger.logrb(Level.INFO, null, null, null, null,
(Object) null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertNull(r.getMessage());
assertSame(r.getResourceBundleName(), null);
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.INFO);
assertEquals(1, r.getParameters().length);
assertNull(r.getParameters()[0]);
assertSame(r.getThrown(), null);
}
/*
* Test logrb(Level, String, String, String, String, Object) with null
* level.
*/
public void testLogrb_LevelStringStringStringObject_NullLevel() {
// this.sharedLogger.setLevel(Level.OFF);
try {
this.sharedLogger.logrb(null, "sourceClass", "sourceMethod",
VALID_RESOURCE_BUNDLE2,
"logrb(Level, String, String, String, String, Object) msg",
new Object());
fail("Should throw NullPointerException!");
} catch (NullPointerException e) {
}
}
/*
* Test logrb(Level, String, String, String, String, Object) with invalid
* resource bundle.
*/
public void testLogrb_LevelStringStringStringObject_InvalidRes() {
Object param = new Object();
this.sharedLogger.setLevel(Level.ALL);
this.sharedLogger.logrb(Level.ALL, "sourceClass", "sourceMethod",
INVALID_RESOURCE_BUNDLE,
"logrb(Level, String, String, String, String) msg", param);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(),
"logrb(Level, String, String, String, String) msg");
assertSame(r.getResourceBundleName(), INVALID_RESOURCE_BUNDLE);
assertSame(r.getResourceBundle(), null);
assertSame(r.getSourceClassName(), "sourceClass");
assertSame(r.getSourceMethodName(), "sourceMethod");
assertSame(r.getLevel(), Level.ALL);
assertEquals(1, r.getParameters().length);
assertSame(param, r.getParameters()[0]);
assertSame(r.getThrown(), null);
}
/*
* Test logrb(Level, String, String, String, String, Object[]) with normal
* values.
*/
public void testLogrb_LevelStringStringStringObjects_Normal() {
Object[] params = new Object[2];
params[0] = new Object();
params[1] = new Object();
this.sharedLogger.setLevel(Level.INFO);
this.sharedLogger.logrb(Level.INFO, "sourceClass", "sourceMethod",
VALID_RESOURCE_BUNDLE2,
"logrb(Level, String, String, String, String, Object[]) msg",
params);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(),
"logrb(Level, String, String, String, String, Object[]) msg");
assertSame(r.getResourceBundleName(), VALID_RESOURCE_BUNDLE2);
assertSame(r.getSourceClassName(), "sourceClass");
assertSame(r.getSourceMethodName(), "sourceMethod");
assertSame(r.getLevel(), Level.INFO);
assertEquals(2, r.getParameters().length);
assertSame(params[0], r.getParameters()[0]);
assertSame(params[1], r.getParameters()[1]);
assertSame(r.getThrown(), null);
this.sharedLogger.logrb(Level.CONFIG, "sourceClass", "sourceMethod",
VALID_RESOURCE_BUNDLE2,
"logrb(Level, String, String, String, String, Object[]) msg",
params);
assertTrue(CallVerificationStack.getInstance().empty());
this.sharedLogger.setLevel(Level.OFF);
this.sharedLogger.logrb(Level.OFF, "sourceClass", "sourceMethod",
VALID_RESOURCE_BUNDLE2,
"logrb(Level, String, String, String, String, Object[]) msg",
params);
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test logrb(Level, String, String, String, String, Object[]) with null
* message and object.
*/
public void testLogrb_LevelStringStringStringObjects_NullMsgObj() {
this.sharedLogger.setLevel(Level.INFO);
this.sharedLogger.logrb(Level.INFO, (String)null, (String)null, (String)null, (String)null,
(Object[]) null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertNull(r.getMessage());
assertSame(r.getResourceBundleName(), null);
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.INFO);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
}
/*
* Test logrb(Level, String, String, String, String, Object[]) with null
* level.
*/
public void testLogrb_LevelStringStringStringObjects_NullLevel() {
// this.sharedLogger.setLevel(Level.OFF);
try {
this.sharedLogger
.logrb(
null,
"sourceClass",
"sourceMethod",
VALID_RESOURCE_BUNDLE2,
"logrb(Level, String, String, String, String, Object[]) msg",
new Object[0]);
fail("Should throw NullPointerException!");
} catch (NullPointerException e) {
}
}
/*
* Test logrb(Level, String, String, String, String, Object[]) with invalid
* resource bundle.
*/
public void testLogrb_LevelStringStringStringObjects_InvalidRes() {
Object[] params = new Object[2];
params[0] = new Object();
params[1] = new Object();
this.sharedLogger.setLevel(Level.ALL);
this.sharedLogger.logrb(Level.ALL, "sourceClass", "sourceMethod",
INVALID_RESOURCE_BUNDLE,
"logrb(Level, String, String, String, String) msg", params);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(),
"logrb(Level, String, String, String, String) msg");
assertSame(r.getResourceBundleName(), INVALID_RESOURCE_BUNDLE);
assertSame(r.getResourceBundle(), null);
assertSame(r.getSourceClassName(), "sourceClass");
assertSame(r.getSourceMethodName(), "sourceMethod");
assertSame(r.getLevel(), Level.ALL);
assertEquals(2, r.getParameters().length);
assertSame(params[0], r.getParameters()[0]);
assertSame(params[1], r.getParameters()[1]);
assertSame(r.getThrown(), null);
}
/*
* Test logrb(Level, String, String, ResourceBundle, String, Object...) with normal
* values.
*/
public void testLogrb_LevelStringStringResourceBundleStringObjectEllipsis_Normal() {
Object[] params = new Object[2];
params[0] = new Object();
params[1] = new Object();
this.sharedLogger.setLevel(Level.INFO);
ResourceBundle rb = ResourceBundle.getBundle(VALID_RESOURCE_BUNDLE2);
this.sharedLogger.logrb(Level.INFO, "sourceClass", "sourceMethod",
rb,
"logrb(Level, String, String, ResourceBundle, String, Object...) msg",
params[0], params[1]);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(),
"logrb(Level, String, String, ResourceBundle, String, Object...) msg");
assertEquals(r.getResourceBundleName(), VALID_RESOURCE_BUNDLE2);
assertEquals(r.getSourceClassName(), "sourceClass");
assertEquals(r.getSourceMethodName(), "sourceMethod");
assertSame(r.getLevel(), Level.INFO);
assertEquals(2, r.getParameters().length);
assertSame(params[0], r.getParameters()[0]);
assertSame(params[1], r.getParameters()[1]);
assertSame(r.getThrown(), null);
this.sharedLogger.logrb(Level.CONFIG, "sourceClass", "sourceMethod",
rb,
"logrb(Level, String, String, ResourceBundle, String, Object...) msg",
params[0], params[1]);
assertTrue(CallVerificationStack.getInstance().empty());
this.sharedLogger.setLevel(Level.OFF);
this.sharedLogger.logrb(Level.OFF, "sourceClass", "sourceMethod",
VALID_RESOURCE_BUNDLE2,
"logrb(Level, String, String, ResourceBundle, String, Object...) msg",
params);
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test logrb(Level, String, String, ResourceBundle, String, Object...) with null
* message and object.
*/
public void testLogrb_LevelStringStringResourceBundleStringObjectEllipsis_NullMsgObj() {
this.sharedLogger.setLevel(Level.INFO);
this.sharedLogger.logrb(Level.INFO, (String)null, (String)null, (ResourceBundle)null,
(String)null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertNull(r.getMessage());
assertSame(r.getResourceBundleName(), null);
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.INFO);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
}
/*
* Test logrb(Level, String, String, ResourceBundle, String, Object...) with null
* level.
*/
public void testLogrb_LevelStringStringResourceBundleStringObjectEllipsis_NullLevel() {
// this.sharedLogger.setLevel(Level.OFF);
ResourceBundle rb = ResourceBundle.getBundle(VALID_RESOURCE_BUNDLE2);
try {
this.sharedLogger
.logrb(
null,
"sourceClass",
"sourceMethod",
rb,
"logrb(Level, String, String, ResourceBundle, String, Object...) msg");
fail("Should throw NullPointerException!");
} catch (NullPointerException e) {
}
}
/*
* Test logrb(Level, String, String, String, String, Throwable) with normal
* values.
*/
public void testLogrb_LevelStringStringStringThrowable_Normal() {
Throwable t = new Throwable();
this.sharedLogger.setLevel(Level.INFO);
this.sharedLogger.logrb(Level.parse("1611"), "sourceClass",
"sourceMethod", VALID_RESOURCE_BUNDLE2,
"logrb(Level, String, String, String, String, Throwable) msg",
t);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(),
"logrb(Level, String, String, String, String, Throwable) msg");
assertSame(r.getResourceBundleName(), VALID_RESOURCE_BUNDLE2);
assertSame(r.getSourceClassName(), "sourceClass");
assertSame(r.getSourceMethodName(), "sourceMethod");
assertSame(r.getLevel(), Level.parse("1611"));
assertNull(r.getParameters());
assertSame(r.getThrown(), t);
assertNull(Level.parse("1611").getResourceBundleName());
this.sharedLogger.logrb(Level.CONFIG, "sourceClass", "sourceMethod",
VALID_RESOURCE_BUNDLE2,
"logrb(Level, String, String, String, String, Throwable) msg",
t);
assertTrue(CallVerificationStack.getInstance().empty());
this.sharedLogger.setLevel(Level.OFF);
this.sharedLogger.logrb(Level.OFF, "sourceClass", "sourceMethod",
VALID_RESOURCE_BUNDLE2,
"logrb(Level, String, String, String, String, Throwable) msg",
t);
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test logrb(Level, String, String, String, String, Throwable) with null
* message and throwable.
*/
public void testLogrb_LevelStringStringStringThrowable_NullMsgObj() {
this.sharedLogger.setLevel(Level.INFO);
this.sharedLogger.logrb(Level.INFO, (String)null, (String)null, (String)null, (String)null,
(Throwable) null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertNull(r.getMessage());
assertSame(r.getResourceBundleName(), null);
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.INFO);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
}
/*
* Test logrb(Level, String, String, String, String, Throwable) with null
* level.
*/
public void testLogrb_LevelStringStringStringThrowable_NullLevel() {
// this.sharedLogger.setLevel(Level.OFF);
try {
this.sharedLogger
.logrb(
null,
"sourceClass",
"sourceMethod",
VALID_RESOURCE_BUNDLE2,
"log(Level, String, String, String, String, Throwable) msg",
new Throwable());
fail("Should throw NullPointerException!");
} catch (NullPointerException e) {
}
}
/*
* Test logrb(Level, String, String, String, String, Throwable) with invalid
* resource bundle.
*/
public void testLogrb_LevelStringStringStringThrowable_InvalidRes() {
Throwable t = new Throwable();
this.sharedLogger.setLevel(Level.ALL);
this.sharedLogger.logrb(Level.ALL, "sourceClass", "sourceMethod",
INVALID_RESOURCE_BUNDLE,
"logrb(Level, String, String, String, String) msg", t);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(),
"logrb(Level, String, String, String, String) msg");
assertSame(r.getResourceBundleName(), INVALID_RESOURCE_BUNDLE);
assertSame(r.getResourceBundle(), null);
assertSame(r.getSourceClassName(), "sourceClass");
assertSame(r.getSourceMethodName(), "sourceMethod");
assertSame(r.getLevel(), Level.ALL);
assertNull(r.getParameters());
assertSame(r.getThrown(), t);
}
/*
* Test logrb(Level, String, String, ResourceBundle, String, Throwable) with normal
* values.
*/
public void testLogrb_LevelStringStringResourceBundleStringThrowable_Normal() {
Throwable t = new Throwable();
ResourceBundle rb = ResourceBundle.getBundle(VALID_RESOURCE_BUNDLE2);
this.sharedLogger.setLevel(Level.INFO);
this.sharedLogger.logrb(Level.parse("1611"), "sourceClass",
"sourceMethod", rb,
"logrb(Level, String, String, ResourceBundle, String, Throwable) msg",
t);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertEquals(r.getMessage(),
"logrb(Level, String, String, ResourceBundle, String, Throwable) msg");
assertEquals(r.getResourceBundleName(), VALID_RESOURCE_BUNDLE2);
assertEquals(r.getSourceClassName(), "sourceClass");
assertEquals(r.getSourceMethodName(), "sourceMethod");
assertSame(r.getLevel(), Level.parse("1611"));
assertNull(r.getParameters());
assertSame(r.getThrown(), t);
assertNull(Level.parse("1611").getResourceBundleName());
this.sharedLogger.logrb(Level.CONFIG, "sourceClass", "sourceMethod",
rb,
"logrb(Level, String, String, ResourceBundle, String, Throwable) msg",
t);
assertTrue(CallVerificationStack.getInstance().empty());
this.sharedLogger.setLevel(Level.OFF);
this.sharedLogger.logrb(Level.OFF, "sourceClass", "sourceMethod",
rb,
"logrb(Level, String, String, ResourceBundle, String, Throwable) msg",
t);
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test logrb(Level, String, String, ResourceBundle, String, Throwable) with null
* message and throwable.
*/
public void testLogrb_LevelStringStringResourceBundleStringThrowable_NullMsgObj() {
this.sharedLogger.setLevel(Level.INFO);
this.sharedLogger.logrb(Level.INFO, (String)null, (String)null, (ResourceBundle)null,
(String)null, (Throwable) null);
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), this.sharedLogger.getName());
assertNull(r.getMessage());
assertSame(r.getResourceBundleName(), null);
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.INFO);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
}
/*
* Test logrb(Level, String, String, ResourceBundle, String, Throwable) with null
* level.
*/
public void testLogrb_LevelStringStringResourceBundleStringThrowable_NullLevel() {
ResourceBundle rb = ResourceBundle.getBundle(VALID_RESOURCE_BUNDLE2);
// this.sharedLogger.setLevel(Level.OFF);
try {
this.sharedLogger
.logrb(
null,
"sourceClass",
"sourceMethod",
rb,
"log(Level, String, String, ResourceBundle, String, Throwable) msg",
new Throwable());
fail("Should throw NullPointerException!");
} catch (NullPointerException e) {
}
}
/*
* Test log(LogRecord) for a normal log record. Meanwhile the logger has an
* appropriate level, no filter, no parent.
*/
public void testLog_LogRecord_AppropriateLevelNoFilterNoParent() {
LogRecord r = new LogRecord(Level.INFO,
"testLog_LogRecord_AppropriateLevelNoFilterNoParent");
this.sharedLogger.setLevel(Level.INFO);
this.sharedLogger.log(r);
assertSame(r, CallVerificationStack.getInstance().pop());
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), null);
assertEquals(r.getMessage(),
"testLog_LogRecord_AppropriateLevelNoFilterNoParent");
assertSame(r.getResourceBundleName(), null);
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.INFO);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
}
/*
* Test log(LogRecord) with null log record.
*/
public void testLog_LogRecord_Null() {
this.sharedLogger.setLevel(Level.INFO);
try {
this.sharedLogger.log(null);
fail("Should throw NullPointerException!");
} catch (NullPointerException e) {
}
}
/*
* Test log(LogRecord) for a normal log record. Meanwhile the logger has an
* inappropriate level, no filter, no parent.
*/
public void testLog_LogRecord_InppropriateLevelNoFilterNoParent() {
LogRecord r = new LogRecord(Level.INFO,
"testLog_LogRecord_InppropriateLevelNoFilterNoParent");
this.sharedLogger.setLevel(Level.WARNING);
this.sharedLogger.log(r);
assertTrue(CallVerificationStack.getInstance().empty());
r.setLevel(Level.OFF);
this.sharedLogger.setLevel(Level.OFF);
this.sharedLogger.log(r);
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test log(LogRecord) for a normal log record. Meanwhile the logger has an
* appropriate level, a filter that accepts the fed log record, no parent.
*/
public void testLog_LogRecord_AppropriateLevelTrueFilterNoParent() {
LogRecord r = new LogRecord(Level.INFO,
"testLog_LogRecord_AppropriateLevelTrueFilterNoParent");
this.sharedLogger.setLevel(Level.INFO);
this.sharedLogger.setFilter(new MockTrueFilter());
this.sharedLogger.log(r);
// pop twice, one pushed by mock handler, one by true mock filter
assertSame(r, CallVerificationStack.getInstance().pop());
assertSame(r, CallVerificationStack.getInstance().pop());
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), null);
assertEquals(r.getMessage(),
"testLog_LogRecord_AppropriateLevelTrueFilterNoParent");
assertSame(r.getResourceBundleName(), null);
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.INFO);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
}
/*
* Test log(LogRecord) for a normal log record. Meanwhile the logger has an
* appropriate level, a filter that rejects the fed log record, no parent.
*/
public void testLog_LogRecord_AppropriateLevelFalseFilterNoParent() {
LogRecord r = new LogRecord(Level.INFO,
"testLog_LogRecord_AppropriateLevelFalseFilterNoParent");
this.sharedLogger.setLevel(Level.INFO);
this.sharedLogger.setFilter(new MockFilter());
this.sharedLogger.log(r);
// pop only once, pushed by mock filter
assertSame(r, CallVerificationStack.getInstance().pop());
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), null);
assertEquals(r.getMessage(),
"testLog_LogRecord_AppropriateLevelFalseFilterNoParent");
assertSame(r.getResourceBundleName(), null);
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.INFO);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
}
/*
* Test that the parent's handler is notified for a new log record when
* getUseParentHandlers() is true.
*/
public void testLog_ParentInformed() {
Logger child = new MockLogger("childLogger", VALID_RESOURCE_BUNDLE);
Logger parent = new MockParentLogger("parentLogger",
VALID_RESOURCE_BUNDLE2);
child.setParent(parent);
child.setLevel(Level.INFO);
parent.setLevel(Level.INFO);
parent.addHandler(new MockHandler());
LogRecord r = new LogRecord(Level.INFO, "testLog_ParentInformed");
child.log(r);
assertTrue(child.getUseParentHandlers());
// pop only once, pushed by the parent logger's handler, not by the
// parent itself!
assertSame(r, CallVerificationStack.getInstance().pop());
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), null);
assertEquals(r.getMessage(), "testLog_ParentInformed");
assertSame(r.getResourceBundleName(), null);
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.INFO);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
// set the child logger to disabling level
child.setLevel(Level.SEVERE);
child.log(r);
assertTrue(CallVerificationStack.getInstance().empty());
// set the parent logger to disabling level
child.setLevel(Level.INFO);
parent.setLevel(Level.SEVERE);
child.log(r);
assertSame(r, CallVerificationStack.getInstance().pop());
assertTrue(CallVerificationStack.getInstance().empty());
// set the child logger off
child.setLevel(Level.OFF);
child.log(r);
assertTrue(CallVerificationStack.getInstance().empty());
// set the record off
r.setLevel(Level.OFF);
child.log(r);
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test that the ancestor's handler is notified for a new log record when
* getUseParentHandlers() is true.
*/
public void testLog_AncestorInformed() {
Logger child = new MockLogger("childLogger", VALID_RESOURCE_BUNDLE);
Logger parent = new MockParentLogger("parentLogger",
VALID_RESOURCE_BUNDLE2);
Logger ancestor = new MockParentLogger("ancestorLogger",
VALID_RESOURCE_BUNDLE3);
child.setParent(parent);
parent.setParent(ancestor);
child.setLevel(Level.INFO);
parent.setLevel(Level.INFO);
ancestor.setLevel(Level.OFF);
ancestor.addHandler(new MockHandler());
LogRecord r = new LogRecord(Level.INFO, "testLog_AncestorInformed");
child.log(r);
assertTrue(child.getUseParentHandlers());
assertTrue(parent.getUseParentHandlers());
// pop only once, pushed by the ancestor's logger's handler, not by the
// parent itself!
assertSame(r, CallVerificationStack.getInstance().pop());
assertTrue(CallVerificationStack.getInstance().empty());
// set parent's level to a disabling one
parent.setLevel(Level.WARNING);
child.log(r);
assertSame(r, CallVerificationStack.getInstance().pop());
assertTrue(CallVerificationStack.getInstance().empty());
// set child's level to a disabling one
parent.setLevel(Level.INFO);
child.setLevel(Level.WARNING);
child.log(r);
assertTrue(CallVerificationStack.getInstance().empty());
// set parent's useParentHandlers to false
parent.setLevel(Level.INFO);
child.setLevel(Level.INFO);
parent.setUseParentHandlers(false);
child.log(r);
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test that the parent's handler is notified for a new log record when
* getUseParentHandlers() is false.
*/
public void testLog_ParentNotInformed() {
Logger child = new MockLogger("childLogger", VALID_RESOURCE_BUNDLE);
Logger parent = new MockParentLogger("parentLogger",
VALID_RESOURCE_BUNDLE2);
child.setParent(parent);
child.setLevel(Level.INFO);
parent.setLevel(Level.INFO);
parent.addHandler(new MockHandler());
LogRecord r = new LogRecord(Level.INFO, "testLog_ParentInformed");
child.setUseParentHandlers(false);
child.log(r);
assertFalse(child.getUseParentHandlers());
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test that a logger with null level and no parent. Defaulted to
* Level.INFO.
*/
public void testLog_NullLevelNoParent() {
LogRecord r = new LogRecord(Level.INFO, "testLog_NullLevelNoParent");
assertNull(this.sharedLogger.getLevel());
assertNull(this.sharedLogger.getParent());
assertTrue(this.sharedLogger.isLoggable(r.getLevel()));
this.sharedLogger.log(r);
assertSame(r, CallVerificationStack.getInstance().pop());
assertTrue(CallVerificationStack.getInstance().empty());
assertNull(this.sharedLogger.getLevel());
r.setLevel(Level.WARNING);
assertTrue(this.sharedLogger.isLoggable(r.getLevel()));
this.sharedLogger.log(r);
assertSame(r, CallVerificationStack.getInstance().pop());
assertTrue(CallVerificationStack.getInstance().empty());
r.setLevel(Level.CONFIG);
this.sharedLogger.log(r);
assertFalse(this.sharedLogger.isLoggable(r.getLevel()));
assertTrue(CallVerificationStack.getInstance().empty());
}
/*
* Test that a logger inherits its parent level when its level is null.
*/
public void testLog_NullLevelHasParent() {
Logger child = new MockLogger("childLogger", VALID_RESOURCE_BUNDLE);
Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2);
child.addHandler(new MockHandler());
child.setParent(parent);
parent.setLevel(Level.FINER);
assertNull(child.getLevel());
LogRecord r = new LogRecord(Level.FINE, "testLog_NullLevelHasParent");
child.log(r);
assertTrue(child.isLoggable(r.getLevel()));
// pop only once, pushed by the child logger's handler
assertSame(r, CallVerificationStack.getInstance().pop());
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), null);
assertEquals(r.getMessage(), "testLog_NullLevelHasParent");
assertSame(r.getResourceBundleName(), null);
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.FINE);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
assertNull(child.getLevel());
// set the parent logger to disabling level
parent.setLevel(Level.CONFIG);
assertFalse(child.isLoggable(r.getLevel()));
child.log(r);
assertTrue(CallVerificationStack.getInstance().empty());
assertNull(child.getLevel());
// test ancestor
Logger ancestor = new MockLogger("ancestorLogger",
VALID_RESOURCE_BUNDLE3);
parent.setParent(ancestor);
parent.setLevel(null);
parent.setUseParentHandlers(false);
ancestor.setLevel(Level.ALL);
child.log(r);
assertTrue(child.isLoggable(r.getLevel()));
assertSame(r, CallVerificationStack.getInstance().pop());
assertTrue(CallVerificationStack.getInstance().empty());
assertNull(child.getLevel());
assertNull(parent.getLevel());
}
/*
* Test that a logger with null resource bundle and no parent. Defaulted to
* null.
*/
public void testLog_NullResNoParent() {
Logger log = new MockLogger("Logger", null);
log.addHandler(new MockHandler());
log.setLevel(Level.FINE);
assertNull(log.getResourceBundle());
assertNull(log.getResourceBundleName());
assertNull(log.getParent());
log.log(Level.INFO, "testLog_NullResNoParent");
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertNull(log.getResourceBundle());
assertNull(log.getResourceBundleName());
assertNull(r.getResourceBundle());
assertNull(r.getResourceBundleName());
}
/*
* Test that a logger inherits its parent resource bundle when its resource
* bundle is null.
*/
public void testLog_NullResHasParent() {
Logger child = new MockLogger("childLogger", null);
Logger parent = new MockLogger("parentLogger", VALID_RESOURCE_BUNDLE2);
child.addHandler(new MockHandler());
child.setParent(parent);
parent.setLevel(Level.FINER);
assertNull(child.getResourceBundle());
assertNull(child.getResourceBundleName());
child.log(Level.FINE, "testLog_NullResHasParent");
// pop only once, pushed by the child logger's handler
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), "childLogger");
assertEquals(r.getMessage(), "testLog_NullResHasParent");
assertSame(r.getResourceBundleName(), VALID_RESOURCE_BUNDLE2);
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.FINE);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
assertNull(child.getResourceBundle());
assertNull(child.getResourceBundleName());
}
/*
* Test that a logger inherits its ancestor's resource bundle when its
* resource bundle and its parent's resource bundle are both null.
*/
public void testLog_NullResHasAncestor() {
Logger child = new MockLogger("childLogger", null);
Logger parent = new MockLogger("parentLogger", null);
Logger ancestor = new MockLogger("ancestorLogger",
VALID_RESOURCE_BUNDLE3);
child.addHandler(new MockHandler());
child.setParent(parent);
parent.setParent(ancestor);
parent.setLevel(Level.FINER);
assertNull(child.getResourceBundle());
assertNull(child.getResourceBundleName());
child.log(Level.FINE, "testLog_NullResHasAncestor");
// pop only once, pushed by the child logger's handler
LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
assertTrue(CallVerificationStack.getInstance().empty());
assertSame(r.getLoggerName(), "childLogger");
assertEquals(r.getMessage(), "testLog_NullResHasAncestor");
assertSame(r.getResourceBundleName(), VALID_RESOURCE_BUNDLE3);
assertSame(r.getSourceClassName(), null);
assertSame(r.getSourceMethodName(), null);
assertSame(r.getLevel(), Level.FINE);
assertNull(r.getParameters());
assertSame(r.getThrown(), null);
assertNull(child.getResourceBundle());
assertNull(child.getResourceBundleName());
}
/*
* Test when one handler throws an exception.
*/
public void testLog_ExceptionalHandler() {
MockLogger l = new MockLogger("testLog_ExceptionalHandler", null);
l.addHandler(new MockExceptionalHandler());
l.addHandler(new MockHandler());
try {
l.severe("testLog_ExceptionalHandler");
fail("Should throw RuntimeException!");
} catch (RuntimeException e) {
}
assertTrue(CallVerificationStack.getInstance().empty());
}
/* Logger.loadResourceBundle is not publicly accessible in Android
public void testLoadResourceBundleNonExistent() {
try {
// Try a load a non-existent resource bundle.
LoggerExtension.loadResourceBundle("missinglogger.properties");
fail("Expected an exception.");
} catch (MissingResourceException ex) {
// Expected exception is precisely a MissingResourceException
assertTrue(ex.getClass() == MissingResourceException.class);
}
}
*/
/*
* test initHandler
*/
public void test_initHandler() throws Exception {
InputStream logPropsStream = Thread.currentThread().getContextClassLoader()
.getResourceAsStream(LOGGING_CONFIG_RESOURCE);
try {
LogManager lm = LogManager.getLogManager();
lm.readConfiguration(logPropsStream);
Logger log = Logger.getLogger("");
// can log properly
Handler[] handlers = log.getHandlers();
assertEquals(2, handlers.length);
} finally {
if (logPropsStream != null) {
logPropsStream.close();
}
}
}
/*
* test setResourceBundle
*/
public void test_setResourceBundle() throws Exception {
assertNull(LogManager.getLogManager().getLogger("testSetResourceBundle"));
// Create a new logger
Logger log1 = Logger.getLogger("testSetResourceBundle");
assertNull(log1.getResourceBundle());
// Set bundle
ResourceBundle resourceBundle = ResourceBundle.getBundle(VALID_RESOURCE_BUNDLE);
log1.setResourceBundle(resourceBundle);
assertEquals(VALID_VALUE, log1.getResourceBundle().getString(VALID_KEY));
assertEquals(log1.getResourceBundleName(), VALID_RESOURCE_BUNDLE);
// Set again the same bundle
log1.setResourceBundle(resourceBundle);
assertEquals(VALID_VALUE, log1.getResourceBundle().getString(VALID_KEY));
assertEquals(log1.getResourceBundleName(), VALID_RESOURCE_BUNDLE);
// Try different one and fail
ResourceBundle anotherResourceBundle = ResourceBundle.getBundle(VALID_RESOURCE_BUNDLE2);
try {
log1.setResourceBundle(anotherResourceBundle);
fail();
} catch(IllegalArgumentException expected) {
}
}
/*
* test setResourceBundle
*/
public void test_setResourceBundle_badInputs() throws Exception {
assertNull(LogManager.getLogManager().getLogger("testSetResourceBundle_badInputs"));
// Create a new logger
Logger log1 = Logger.getLogger("testSetResourceBundle_badInputs");
assertNull(log1.getResourceBundle());
// NPE
try {
log1.setResourceBundle(null);
fail();
} catch(NullPointerException expected) {
}
// ResourceBundle with an empty name
try {
log1.setResourceBundle(new ResourceBundle() {
@Override
protected Object handleGetObject(String key) {
return null;
}
@Override
public Enumeration<String> getKeys() {
return null;
}
});
fail();
} catch(IllegalArgumentException expected) {
}
}
/*
* A mock logger, used to test the protected constructors and fields.
*/
public static class MockLogger extends Logger {
public MockLogger(String name, String resourceBundleName) {
super(name, resourceBundleName);
}
}
/*
* A mock logger, used to test inheritance.
*/
public static class MockParentLogger extends Logger {
public MockParentLogger(String name, String resourceBundleName) {
super(name, resourceBundleName);
}
public void log(LogRecord record) {
CallVerificationStack.getInstance().push(record);
super.log(record);
}
}
/*
* A mock handler, used to validate the expected method is called with the
* expected parameters.
*/
public static class MockHandler extends Handler {
public void close() {
// System.out.println("close!");
}
public void flush() {
// System.out.println("flushed!");
}
public void publish(LogRecord record) {
// System.out.println("publish!");
CallVerificationStack.getInstance().push(record);
}
}
/*
* A mock handler that throws an exception when publishing a log record.
*/
public static class MockExceptionalHandler extends Handler {
public void close() {
// System.out.println("close!");
}
public void flush() {
// System.out.println("flushed!");
}
public void publish(LogRecord record) {
// System.out.println("publish!");
throw new RuntimeException();
}
}
/*
* A mock filter, always return false.
*/
public static class MockFilter implements Filter {
public boolean isLoggable(LogRecord record) {
CallVerificationStack.getInstance().push(record);
return false;
}
}
/*
* A mock filter, always return true.
*/
public static class MockTrueFilter implements Filter {
public boolean isLoggable(LogRecord record) {
CallVerificationStack.getInstance().push(record);
return true;
}
}
}