You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by te...@apache.org on 2006/03/15 15:57:17 UTC
svn commit: r386087 [26/45] - in /incubator/harmony/enhanced/classlib/trunk:
make/ make/patternsets/ modules/jndi/ modules/jndi/META-INF/
modules/jndi/make/ modules/jndi/make/common/ modules/jndi/src/
modules/jndi/src/main/ modules/jndi/src/main/java/ ...
Added: incubator/harmony/enhanced/classlib/trunk/modules/logging/src/test/java/tests/api/java/util/logging/LoggerTest.java
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/classlib/trunk/modules/logging/src/test/java/tests/api/java/util/logging/LoggerTest.java?rev=386087&view=auto
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/logging/src/test/java/tests/api/java/util/logging/LoggerTest.java (added)
+++ incubator/harmony/enhanced/classlib/trunk/modules/logging/src/test/java/tests/api/java/util/logging/LoggerTest.java Wed Mar 15 06:55:38 2006
@@ -0,0 +1,3519 @@
+/* Copyright 2004 The Apache Software Foundation or its licensors, as applicable
+ *
+ * Licensed 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 tests.api.java.util.logging;
+
+import java.security.Permission;
+import java.util.Locale;
+import java.util.MissingResourceException;
+import java.util.Properties;
+import java.util.ResourceBundle;
+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 java.util.logging.LoggingPermission;
+
+import junit.framework.TestCase;
+import tests.api.java.util.logging.util.EnvironmentHelper;
+import tests.util.CallVerificationStack;
+
+/**
+ * Test suite for the class java.util.logging.Logger.
+ *
+ */
+public class LoggerTest extends TestCase {
+
+ private static String className = LoggerTest.class.getName();
+
+ private final static String VALID_RESOURCE_BUNDLE = "tests/api/java/util/logging/res";
+
+ private final static String VALID_RESOURCE_BUNDLE2 = "tests/api/java/util/logging/res2";
+
+ private final static String VALID_RESOURCE_BUNDLE3 = "tests/api/java/util/logging/res3";
+
+ private final static String INVALID_RESOURCE_BUNDLE = "impossible_not_existing";
+
+ 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 {
+ super.tearDown();
+ Locale.setDefault(oldLocale);
+ }
+
+ /**
+ * 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, mlog.getResourceBundle().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());
+ assertEquals(null, 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()
+ */
+ public void testGetAnonymousLogger() {
+ SecurityManager oldMan = System.getSecurityManager();
+ System.setSecurityManager(new MockSecurityManager());
+
+ try {
+ Logger alog = Logger.getAnonymousLogger();
+ assertNotSame(alog, Logger.getAnonymousLogger());
+ assertNull(alog.getFilter());
+ assertEquals(0, alog.getHandlers().length);
+ assertNull(alog.getLevel());
+ assertEquals(null, alog.getName());
+ assertNull(alog.getParent().getParent());
+ assertNull(alog.getResourceBundle());
+ assertNull(alog.getResourceBundleName());
+ assertTrue(alog.getUseParentHandlers());
+ // fail("Should throw SecurityException!");
+ // } catch (SecurityException e) {
+ } finally {
+ System.setSecurityManager(oldMan);
+ }
+ }
+
+ /*
+ * 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());
+ assertEquals(null, 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());
+ assertEquals(null, 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 configed.
+ */
+ 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) {
+ }
+ }
+
+ /*
+ * 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);
+ // get an existing logger
+ try {
+ Logger log2 = Logger
+ .getLogger(
+ "testGetLoggerWithRes_ExistingLoggerWithDiffRes_ANewLogger",
+ VALID_RESOURCE_BUNDLE2);
+ fail("Should throw IllegalArgumentException!");
+ } catch (IllegalArgumentException e) {
+ }
+
+ try {
+ Logger log2 = 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 a named logger with insufficient privilege.
+ */
+ public void testAddHandler_NamedLoggerInsufficientPrivilege() {
+ Logger log = Logger
+ .getLogger("testAddHandler_NamedLoggerInsufficientPrivilege");
+ MockHandler h = new MockHandler();
+ SecurityManager oldMan = System.getSecurityManager();
+ System.setSecurityManager(new MockSecurityManager());
+
+ try {
+ log.addHandler(h);
+ fail("Should throw SecurityException!");
+ } catch (SecurityException e) {
+ } finally {
+ System.setSecurityManager(oldMan);
+ }
+ }
+
+ /*
+ * Test addHandler(Handler) for a named logger with insufficient privilege,
+ * using a null handler.
+ */
+ public void testAddHandler_NamedLoggerInsufficientPrivilegeNull() {
+ Logger log = Logger
+ .getLogger("testAddHandler_NamedLoggerInsufficientPrivilege");
+ SecurityManager oldMan = System.getSecurityManager();
+ System.setSecurityManager(new MockSecurityManager());
+
+ try {
+ log.addHandler(null);
+ fail("Should throw NullPointerException!");
+ } catch (NullPointerException e) {
+ } finally {
+ System.setSecurityManager(oldMan);
+ }
+ }
+
+ /*
+ * 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 addHandler(Handler) for an anonymous logger with insufficient
+ * privilege.
+ */
+ public void testAddHandler_AnonyLoggerInsufficientPrivilege() {
+ Logger log = Logger.getAnonymousLogger();
+ MockHandler h = new MockHandler();
+ SecurityManager oldMan = System.getSecurityManager();
+ System.setSecurityManager(new MockSecurityManager());
+ try {
+ assertEquals(log.getHandlers().length, 0);
+ log.addHandler(h);
+ assertEquals(log.getHandlers().length, 1);
+ assertSame(log.getHandlers()[0], h);
+ } finally {
+ System.setSecurityManager(oldMan);
+ }
+ }
+
+ /*
+ * Test addHandler(Handler) for a null-named mock logger with insufficient
+ * privilege.
+ */
+ public void testAddHandler_NullNamedMockLoggerInsufficientPrivilege() {
+ MockLogger mlog = new MockLogger(null, null);
+ MockHandler h = new MockHandler();
+ SecurityManager oldMan = System.getSecurityManager();
+ System.setSecurityManager(new MockSecurityManager());
+ try {
+ mlog.addHandler(h);
+ fail("Should throw SecurityException!");
+ } catch (SecurityException e) {
+ } finally {
+ System.setSecurityManager(oldMan);
+ }
+ }
+
+ /*
+ * 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");
+ try {
+ log.removeHandler(null);
+ fail("Should throw NullPointerException!");
+ } catch (NullPointerException e) {
+ }
+ assertEquals(log.getHandlers().length, 0);
+ }
+
+ /*
+ * Test removeHandler(Handler) for a named logger with insufficient
+ * privilege.
+ */
+ public void testRemoveHandler_NamedLoggerInsufficientPrivilege() {
+ Logger log = Logger
+ .getLogger("testRemoveHandler_NamedLoggerInsufficientPrivilege");
+ MockHandler h = new MockHandler();
+ SecurityManager oldMan = System.getSecurityManager();
+ System.setSecurityManager(new MockSecurityManager());
+
+ try {
+ log.removeHandler(h);
+ fail("Should throw SecurityException!");
+ } catch (SecurityException e) {
+ } finally {
+ System.setSecurityManager(oldMan);
+ }
+ }
+
+ /*
+ * Test removeHandler(Handler) for a named logger with insufficient
+ * privilege, using a null handler.
+ */
+ public void testRemoveHandler_NamedLoggerInsufficientPrivilegeNull() {
+ Logger log = Logger
+ .getLogger("testRemoveHandler_NamedLoggerInsufficientPrivilege");
+ SecurityManager oldMan = System.getSecurityManager();
+ System.setSecurityManager(new MockSecurityManager());
+
+ try {
+ log.removeHandler(null);
+ fail("Should throw SecurityException!");
+ } catch (SecurityException e) {
+ } finally {
+ System.setSecurityManager(oldMan);
+ }
+ }
+
+ /*
+ * 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 removeHandler(Handler) for an anonymous logger with insufficient
+ * privilege.
+ */
+ public void testRemoveHandler_AnonyLoggerInsufficientPrivilege() {
+ Logger log = Logger.getAnonymousLogger();
+ MockHandler h = new MockHandler();
+ SecurityManager oldMan = System.getSecurityManager();
+ System.setSecurityManager(new MockSecurityManager());
+ try {
+ log.addHandler(h);
+ assertEquals(log.getHandlers().length, 1);
+ log.removeHandler(h);
+ assertEquals(log.getHandlers().length, 0);
+ } finally {
+ System.setSecurityManager(oldMan);
+ }
+ }
+
+ /*
+ * Test removeHandler(Handler) for a null-named mock logger with
+ * insufficient privilege.
+ */
+ public void testRemoveHandler_NullNamedMockLoggerInsufficientPrivilege() {
+ MockLogger mlog = new MockLogger(null, null);
+ MockHandler h = new MockHandler();
+ SecurityManager oldMan = System.getSecurityManager();
+ System.setSecurityManager(new MockSecurityManager());
+ try {
+ mlog.removeHandler(h);
+ fail("Should throw SecurityException!");
+ } catch (SecurityException e) {
+ } finally {
+ System.setSecurityManager(oldMan);
+ }
+ }
+
+ /*
+ * 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 with normal value for a named logger, having insufficient
+ * privilege.
+ */
+ public void testGetSetFilter_NamedLoggerInsufficientPrivilege() {
+ Logger log = Logger
+ .getLogger("testGetSetFilter_NamedLoggerInsufficientPrivilege");
+ Filter f = new MockFilter();
+ SecurityManager oldMan = System.getSecurityManager();
+ System.setSecurityManager(new MockSecurityManager());
+ try {
+ log.setFilter(f);
+ fail("Should throw SecurityException!");
+ } catch (SecurityException e) {
+ } finally {
+ System.setSecurityManager(oldMan);
+ }
+ }
+
+ /*
+ * 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 setFilter for an anonymous logger with insufficient privilege.
+ */
+ public void testSetFilter_AnonyLoggerInsufficientPrivilege() {
+ Logger log = Logger.getAnonymousLogger();
+ Filter f = new MockFilter();
+ SecurityManager oldMan = System.getSecurityManager();
+ System.setSecurityManager(new MockSecurityManager());
+ try {
+ assertNull(log.getFilter());
+ log.setFilter(f);
+ assertSame(f, log.getFilter());
+ } finally {
+ System.setSecurityManager(oldMan);
+ }
+ }
+
+ /*
+ * Test setFilter for a null-named mock logger with insufficient privilege.
+ */
+ public void testSetFilter_NullNamedMockLoggerInsufficientPrivilege() {
+ MockLogger mlog = new MockLogger(null, null);
+ Filter f = new MockFilter();
+ SecurityManager oldMan = System.getSecurityManager();
+ System.setSecurityManager(new MockSecurityManager());
+ try {
+ mlog.setFilter(f);
+ fail("Should throw SecurityException!");
+ } catch (SecurityException e) {
+ } finally {
+ System.setSecurityManager(oldMan);
+ }
+ }
+
+ /*
+ * 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 with normal value for a named logger, having insufficient
+ * privilege.
+ */
+ public void testGetSetLevel_NamedLoggerInsufficientPrivilege() {
+ Logger log = Logger
+ .getLogger("testGetSetLevel_NamedLoggerInsufficientPrivilege");
+ SecurityManager oldMan = System.getSecurityManager();
+ System.setSecurityManager(new MockSecurityManager());
+ try {
+ log.setLevel(Level.CONFIG);
+ fail("Should throw SecurityException!");
+ } catch (SecurityException e) {
+ } finally {
+ System.setSecurityManager(oldMan);
+ }
+ }
+
+ /*
+ * 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 setLevel for an anonymous logger with insufficient privilege.
+ */
+ public void testSetLevel_AnonyLoggerInsufficientPrivilege() {
+ Logger log = Logger.getAnonymousLogger();
+ SecurityManager oldMan = System.getSecurityManager();
+ System.setSecurityManager(new MockSecurityManager());
+ try {
+ assertNull(log.getLevel());
+ log.setLevel(Level.CONFIG);
+ assertSame(Level.CONFIG, log.getLevel());
+ } finally {
+ System.setSecurityManager(oldMan);
+ }
+ }
+
+ /*
+ * Test setLevel for a null-named mock logger with insufficient privilege.
+ */
+ public void testSetLevel_NullNamedMockLoggerInsufficientPrivilege() {
+ MockLogger mlog = new MockLogger(null, null);
+ SecurityManager oldMan = System.getSecurityManager();
+ System.setSecurityManager(new MockSecurityManager());
+ try {
+ mlog.setLevel(Level.CONFIG);
+ fail("Should throw SecurityException!");
+ } catch (SecurityException e) {
+ } finally {
+ System.setSecurityManager(oldMan);
+ }
+ }
+
+ /*
+ * 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 with normal value for a named logger, having
+ * insufficient privilege.
+ */
+ public void testGetSetUseParentHandlers_NamedLoggerInsufficientPrivilege() {
+ Logger log = Logger
+ .getLogger("testGetSetUseParentHandlers_NamedLoggerInsufficientPrivilege");
+ SecurityManager oldMan = System.getSecurityManager();
+ System.setSecurityManager(new MockSecurityManager());
+ try {
+ log.setUseParentHandlers(true);
+ fail("Should throw SecurityException!");
+ } catch (SecurityException e) {
+ } finally {
+ System.setSecurityManager(oldMan);
+ }
+ }
+
+ /*
+ * 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 setUseParentHandlers for an anonymous logger with insufficient
+ * privilege.
+ */
+ public void testSetUseParentHandlers_AnonyLoggerInsufficientPrivilege() {
+ Logger log = Logger.getAnonymousLogger();
+ SecurityManager oldMan = System.getSecurityManager();
+ System.setSecurityManager(new MockSecurityManager());
+ try {
+ assertTrue(log.getUseParentHandlers());
+ log.setUseParentHandlers(false);
+ assertFalse(log.getUseParentHandlers());
+ } finally {
+ System.setSecurityManager(oldMan);
+ }
+ }
+
+ /*
+ * Test setUseParentHandlers for a null-named mock logger with insufficient
+ * privilege.
+ */
+ public void testSetUseParentHandlers_NullNamedMockLoggerInsufficientPrivilege() {
+ MockLogger mlog = new MockLogger(null, null);
+ SecurityManager oldMan = System.getSecurityManager();
+ System.setSecurityManager(new MockSecurityManager());
+ try {
+ mlog.setUseParentHandlers(true);
+ fail("Should throw SecurityException!");
+ } catch (SecurityException e) {
+ } finally {
+ System.setSecurityManager(oldMan);
+ }
+ }
+
+ /*
+ * 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 condistions.
+ */
+ 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 setParent(Logger), having insufficient privilege.
+ */
+ public void testSetParent_InsufficientPrivilege() {
+ MockLogger log = new MockLogger(null, null);
+ SecurityManager oldMan = System.getSecurityManager();
+ System.setSecurityManager(new MockSecurityManager());
+ try {
+ log.setParent(log);
+ fail("Should throw SecurityException!");
+ } catch (SecurityException e) {
+ } finally {
+ System.setSecurityManager(oldMan);
+ }
+ }
+
+ /*
+ * Test setParent(Logger) with null, having insufficient privilege.
+ */
+ public void testSetParent_InsufficientPrivilegeNull() {
+ MockLogger log = new MockLogger(null, null);
+ SecurityManager oldMan = System.getSecurityManager();
+ System.setSecurityManager(new MockSecurityManager());
+ try {
+ log.setParent(null);
+ fail("Should throw NullPointerException!");
+ } catch (NullPointerException e) {
+ } finally {
+ System.setSecurityManager(oldMan);
+ }
+ }
+
+ /*
+ * Test setParent(Logger) for an anonymous logger with insufficient
+ * privilege.
+ */
+ public void testSetParent_AnonyLoggerInsufficientPrivilege() {
+ Logger log = Logger.getAnonymousLogger();
+ SecurityManager oldMan = System.getSecurityManager();
+ System.setSecurityManager(new MockSecurityManager());
+ try {
+ log.setParent(log);
+ fail("Should throw SecurityException!");
+ } catch (SecurityException e) {
+ } finally {
+ System.setSecurityManager(oldMan);
+ }
+ }
+
+ /*
+ * 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 emtpy 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();
+ assertEquals(null, log.getName());
+
+ Logger mlog = new MockLogger(null, null);
+ assertEquals(null, 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);
+ assertEquals(null, 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);
+ assertEquals(null, 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);
+ assertEquals(null, 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);
+ assertEquals(r.getParameters()[0], null);
+ 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() {
+ this.sharedLogger.setLevel(Level.FINER);
+ try {
+ this.sharedLogger.entering(null, null, (Object[]) null);
+ fail("Should throw NullPointerException!");
+ } catch (NullPointerException e) {
+ }
+ }
+
+ /*
+ * 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);
+ assertEquals(r.getParameters()[0], null);
+ 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);
+ assertEquals(null, 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(null);
+ LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
+ assertTrue(CallVerificationStack.getInstance().empty());
+ assertSame(r.getLoggerName(), child.getName());
+ assertEquals(r.getMessage(), null);
+ assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
+ assertSame(r.getResourceBundle(), parent.getResourceBundle());
+ assertSame(r.getSourceClassName(), null);
+ assertSame(r.getSourceMethodName(), null);
+ assertSame(r.getLevel(), Level.CONFIG);
+ assertEquals(null, r.getParameters());
+ assertSame(r.getThrown(), null);
+
+ this.sharedLogger.setLevel(Level.INFO);
+ this.sharedLogger.config(null);
+ assertTrue(CallVerificationStack.getInstance().empty());
+ }
+
+ /*
+ * 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);
+ assertEquals(null, 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(null);
+ LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
+ assertTrue(CallVerificationStack.getInstance().empty());
+ assertSame(r.getLoggerName(), child.getName());
+ assertEquals(r.getMessage(), null);
+ assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
+ assertSame(r.getResourceBundle(), parent.getResourceBundle());
+ assertSame(r.getSourceClassName(), null);
+ assertSame(r.getSourceMethodName(), null);
+ assertSame(r.getLevel(), Level.FINE);
+ assertEquals(null, r.getParameters());
+ assertSame(r.getThrown(), null);
+
+ this.sharedLogger.setLevel(Level.CONFIG);
+ this.sharedLogger.fine(null);
+ assertTrue(CallVerificationStack.getInstance().empty());
+ }
+
+ /*
+ * 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);
+ assertEquals(null, 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(null);
+ LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
+ assertTrue(CallVerificationStack.getInstance().empty());
+ assertSame(r.getLoggerName(), child.getName());
+ assertEquals(r.getMessage(), null);
+ assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
+ assertSame(r.getResourceBundle(), parent.getResourceBundle());
+ assertSame(r.getSourceClassName(), null);
+ assertSame(r.getSourceMethodName(), null);
+ assertSame(r.getLevel(), Level.FINER);
+ assertEquals(null, r.getParameters());
+ assertSame(r.getThrown(), null);
+
+ this.sharedLogger.setLevel(Level.FINE);
+ this.sharedLogger.finer(null);
+ assertTrue(CallVerificationStack.getInstance().empty());
+ }
+
+ /*
+ * 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);
+ assertEquals(null, 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(null);
+ LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
+ assertTrue(CallVerificationStack.getInstance().empty());
+ assertSame(r.getLoggerName(), child.getName());
+ assertEquals(r.getMessage(), null);
+ assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
+ assertSame(r.getResourceBundle(), parent.getResourceBundle());
+ assertSame(r.getSourceClassName(), null);
+ assertSame(r.getSourceMethodName(), null);
+ assertSame(r.getLevel(), Level.FINEST);
+ assertEquals(null, r.getParameters());
+ assertSame(r.getThrown(), null);
+
+ this.sharedLogger.setLevel(Level.FINER);
+ this.sharedLogger.finest(null);
+ assertTrue(CallVerificationStack.getInstance().empty());
+ }
+
+ /*
+ * 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);
+ assertEquals(null, 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(null);
+ LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
+ assertTrue(CallVerificationStack.getInstance().empty());
+ assertSame(r.getLoggerName(), child.getName());
+ assertEquals(r.getMessage(), null);
+ assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
+ assertSame(r.getResourceBundle(), parent.getResourceBundle());
+ assertSame(r.getSourceClassName(), null);
+ assertSame(r.getSourceMethodName(), null);
+ assertSame(r.getLevel(), Level.INFO);
+ assertEquals(null, r.getParameters());
+ assertSame(r.getThrown(), null);
+
+ this.sharedLogger.setLevel(Level.WARNING);
+ this.sharedLogger.info(null);
+ assertTrue(CallVerificationStack.getInstance().empty());
+ }
+
+ /*
+ * 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);
+ assertEquals(null, 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(null);
+ LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
+ assertTrue(CallVerificationStack.getInstance().empty());
+ assertSame(r.getLoggerName(), child.getName());
+ assertEquals(r.getMessage(), null);
+ assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
+ assertSame(r.getResourceBundle(), parent.getResourceBundle());
+ assertSame(r.getSourceClassName(), null);
+ assertSame(r.getSourceMethodName(), null);
+ assertSame(r.getLevel(), Level.WARNING);
+ assertEquals(null, r.getParameters());
+ assertSame(r.getThrown(), null);
+
+ this.sharedLogger.setLevel(Level.SEVERE);
+ this.sharedLogger.warning(null);
+ assertTrue(CallVerificationStack.getInstance().empty());
+ }
+
+ /*
+ * 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);
+ assertEquals(null, 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(null);
+ LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
+ assertTrue(CallVerificationStack.getInstance().empty());
+ assertSame(r.getLoggerName(), child.getName());
+ assertEquals(r.getMessage(), null);
+ assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
+ assertSame(r.getResourceBundle(), parent.getResourceBundle());
+ assertSame(r.getSourceClassName(), null);
+ assertSame(r.getSourceMethodName(), null);
+ assertSame(r.getLevel(), Level.SEVERE);
+ assertEquals(null, r.getParameters());
+ assertSame(r.getThrown(), null);
+
+ this.sharedLogger.setLevel(Level.OFF);
+ this.sharedLogger.severe(null);
+ assertTrue(CallVerificationStack.getInstance().empty());
+ }
+
+ /*
+ * 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);
+ assertEquals(null, 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, null);
+ LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
+ assertTrue(CallVerificationStack.getInstance().empty());
+ assertSame(r.getLoggerName(), child.getName());
+ assertEquals(r.getMessage(), null);
+ assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
+ assertSame(r.getResourceBundle(), parent.getResourceBundle());
+ assertSame(r.getSourceClassName(), null);
+ assertSame(r.getSourceMethodName(), null);
+ assertSame(r.getLevel(), Level.INFO);
+ assertEquals(null, r.getParameters());
+ assertSame(r.getThrown(), null);
+ }
+
+ /*
+ * 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());
+ assertEquals(r.getMessage(), null);
+ 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);
+ assertEquals(null, 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());
+ assertEquals(r.getMessage(), null);
+ assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
+ assertSame(r.getResourceBundle(), parent.getResourceBundle());
+ assertSame(r.getSourceClassName(), null);
+ assertSame(r.getSourceMethodName(), null);
+ assertSame(r.getLevel(), Level.INFO);
+ assertEquals(null, 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);
+ assertEquals(null, 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());
+ assertEquals(r.getMessage(), null);
+ assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
+ assertSame(r.getResourceBundle(), parent.getResourceBundle());
+ assertSame(r.getSourceClassName(), null);
+ assertSame(r.getSourceMethodName(), null);
+ assertSame(r.getLevel(), Level.INFO);
+ assertEquals(null, 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 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);
+ assertEquals(null, 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, null, null, null);
+ LogRecord r = (LogRecord) CallVerificationStack.getInstance().pop();
+ assertTrue(CallVerificationStack.getInstance().empty());
+ assertSame(r.getLoggerName(), child.getName());
+ assertEquals(r.getMessage(), null);
+ assertSame(r.getResourceBundleName(), parent.getResourceBundleName());
+ assertSame(r.getResourceBundle(), parent.getResourceBundle());
+ assertSame(r.getSourceClassName(), null);
+ assertSame(r.getSourceMethodName(), null);
+ assertSame(r.getLevel(), Level.INFO);
+ assertEquals(null, 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, 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());
+ assertEquals(r.getMessage(), null);
+ 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);
+ assertEquals(null, 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",
[... 1083 lines stripped ...]